summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-11-19glsl: Add lower_vector.cpp to SConscript.Vinson Lee
2010-11-19glsl: Fix matrix constructors with vector parametersIan Romanick
When the semantics of write masks in assignments were changed, this code was not correctly updated. Fixes piglit test glsl-mat-from-vec-ctor-01.
2010-11-19glsl: Combine many instruction lowering passes into one.Kenneth Graunke
This should save on the overhead of tree-walking and provide a convenient place to add more instruction lowering in the future. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-11-19glsl: Simplify a type check by using type->is_integer().Kenneth Graunke
2010-11-19glsl: Add ir_quadop_vector expressionIan Romanick
The vector operator collects 2, 3, or 4 scalar components into a vector. Doing this has several advantages. First, it will make ud-chain tracking for components of vectors much easier. Second, a later optimization pass could collect scalars into vectors to allow generation of SWZ instructions (or similar as operands to other instructions on R200 and i915). It also enables an easy way to generate IR for SWZ instructions in the ARB_vertex_program assembler.
2010-11-19glsl: Add unary ir_expression constructorIan Romanick
2010-11-19glsl: Add ir_rvalue::is_negative_one predicateIan Romanick
2010-11-19glsl: Eliminate assumptions about size of ir_expression::operandsIan Romanick
This may grow in the near future.
2010-11-19glsl: Add ir_unop_sin_reduced and ir_unop_cos_reducedIan Romanick
The operate just like ir_unop_sin and ir_unop_cos except that they expect their inputs to be limited to the range [-pi, pi]. Several GPUs require this limited range for their sine and cosine instructions, so having these as operations (along with a to-be-written lowering pass) helps this architectures. These new operations also matche the semantics of the GL_ARB_fragment_program SCS instruction. Having these as operations helps in generating GLSL IR directly from assembly fragment programs.
2010-11-19r600g: use full range of VS resources for vertex samplersAlex Deucher
Now that we have fetch shaders, the full range of VS resources can be used for sampling.
2010-11-19r600g: use meaningful defines for chiprevAlex Deucher
Makes the code much clearer.
2010-11-19r600g: translate ARR instruction for evergreenAlex Deucher
evergreen variant of: 9f7ec103e26c67cb077fd7d94d2fb68562b86c40
2010-11-19r600g: add fetch shader capabilitiesJerome Glisse
Use fetch shader instead of having fetch instruction in the vertex shader. Allow to restrict shader update to a smaller part when vertex buffer input layout changes. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-11-19r600g: All EVENT_WRITE packets need the EVENT_INDEX fieldAlex Deucher
6xx-evergreen
2010-11-19dri/nouveau: Clean up magic numbers in get_rt_formatViktor Novotný
Signed-off-by: Viktor Novotný <noviktor@seznam.cz> Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-11-19r600g: fix occlusion query on evergreen (avoid lockup)Jerome Glisse
Occlusion query on evergreen need the event index field to be set otherwise we endup locking up the GPU. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-11-18ir_to_mesa: Generate smarter code for some conditional movesIan Romanick
Condiation moves with a condition of (a < 0), (a > 0), (a <= 0), or (a >= 0) can be generated with "a" directly as an operand of the CMP instruction. This doesn't help much now, but it will help with assembly shaders that use the CMP instruction.
2010-11-18glsl: Make is_zero and is_one virtual methods of ir_rvalueIan Romanick
This eliminates the need in some cames to validate that an rvalue is an ir_constant before checking to see if it's 0 or 1.
2010-11-18mesa: pass gl_format to _mesa_init_teximage_fields()Brian Paul
This should prevent the field going unset in the future. See bug http://bugs.freedesktop.org/show_bug.cgi?id=31544 for background. Also remove unneeded calls to clear_teximage_fields(). Finally, call _mesa_set_fetch_functions() from the _mesa_init_teximage_fields() function so callers have one less thing to worry about.
2010-11-18scons: Use inline wrap helpers more consistently.José Fonseca
2010-11-18gallium/noop: report GL 2.1Dave Airlie
this should at least make app use the same paths as they would for a real driver.
2010-11-17glsl: Fix 'control reaches end of non-void function' warning.Vinson Lee
Fix this GCC warning. ir.cpp: In static member function 'static unsigned int ir_expression::get_num_operands(ir_expression_operation)': ir.cpp:199: warning: control reaches end of non-void function
2010-11-18mesa: Clean up core.h.Chia-I Wu
Remove version.h and context.h from core.h.
2010-11-18st/glx: Replace MESA_VERSION_STRING by xmesa_get_name.Chia-I Wu
xmesa_get_name returns the name of the st_api, which is the same as MESA_VERSION_STRING.
2010-11-18st/wgl: Use st_context_iface::share for DrvShareLists.Chia-I Wu
2010-11-18gallium: Add st_context_iface::share to st_api.Chia-I Wu
It will be used to implement wglShareLists. Fill st_context_iface::copy for glXCopyContext as well.
2010-11-18gallium: Add st_api::name.Chia-I Wu
It is the name of the rendering API. This field is informative.
2010-11-18st/vega: Do not wait NULL fences.Chia-I Wu
2010-11-18i965: Eliminate dead code more aggressively.Eric Anholt
If an instruction writes reg but nothing later uses it, then we don't need to bother doing it. Before, we were just killing code that was never read after it was ever written. This removes many interpolation instructions for attributes with only a few comopnents used. Improves nexuiz high-settings performance .46% +/- .12% (n=3) on my Ironlake.
2010-11-17mesa: upgrade to glext.h version 66Brian Paul
The type of the num/count parameter to glProgramParameters4[df]vNV() changed so some API dispatch code needed updates too.
2010-11-17r600g: fix buffer alignmentAlex Deucher
This should fix the remaining buffer alignment issues in r600g.
2010-11-18i965: Fail on loops on gen6 for now until we write the EU emit code for it.Eric Anholt
2010-11-18i965: Add dumping of the sampler default color.Eric Anholt
2010-11-18i965: Add state dumping for sampler state.Eric Anholt
2010-11-18mesa: Don't spam the console in a debug build unless some spam is requested.Eric Anholt
It's annoying to use test suites under a Mesa debug build because pretty output is cluttered with stderr's continuous reports that you're still using the debug driver.
2010-11-18i965: Shut up spurious gcc warning about GLSL_TYPE enums.Eric Anholt
2010-11-17gallium: Remove redundant sw and debug target helpersJakob Bornecrantz
2010-11-17graw: Use inline debug helper instead of non-inline versionJakob Bornecrantz
2010-11-17libgl-xlib: Use inline debug helper instead of non-inline versionJakob Bornecrantz
2010-11-17glsl: Improve usage message for glsl_compilerChad Versace
The new usage message lists possible command line options. (Newcomers to Mesa currently have to trawl through the source to find the command line options, and we should save them from that trouble.) Example Output -------------- usage: ./glsl_compiler [options] <file.vert | file.geom | file.frag> Possible options are: --glsl-es --dump-ast --dump-hir --dump-lir --link
2010-11-17glsl: Refactor get_num_operands.Kenneth Graunke
This adds sentinel values to the ir_expression_operation enum type: ir_last_unop, ir_last_binop, and ir_last_opcode. They are set to the previous one so they don't trigger "unhandled case in switch statement" warnings, but should never be handled directly. This allows us to remove the huge array of 1s and 2s in ir_expression::get_num_operands().
2010-11-17r600g: code cleanup (indent, trailing space, empty line ...)Jerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-11-17glsl: Remove the ir_binop_cross opcode.Kenneth Graunke
2010-11-17Refresh autogenerated file builtin_function.cpp.Kenneth Graunke
2010-11-17glsl: Reimplement the "cross" built-in without ir_binop_cross.Kenneth Graunke
We are not aware of any GPU that actually implements the cross product as a single instruction. Hence, there's no need for it to be an opcode. Future commits will remove it entirely.
2010-11-17Regenerate glcpp parser.Kenneth Graunke
2010-11-17glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.Kenneth Graunke
This is really supposed to be defined only if the driver supports highp in the fragment shader - but all of our current ES2 implementations do. So, just define it. In the future, we'll need to add a flag to gl_context and only define the macro if the flag is set. "Fixes" freedesktop.org bug #31673.
2010-11-17egl_dri2: Add missing intel chip ids.Robert Hooker
Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
2010-11-17glsl: Fix Doxygen tag \file in recently renamed filesChad Versace
2010-11-17glsl: Fix erroneous cast in ast_jump_statement::hir()Chad Versace
Return values were erroneously cast from (ir_rvalue*) to (ir_expression*). NOTE: This is a candidate for the 7.9 branch.