summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-07-22glsl2: Validate that ir_if conditions are actually bool.Eric Anholt
2010-07-22ir_to_mesa: Fix the swizzles on record and array dereferences.Eric Anholt
Fixes: glsl1-struct (1) glsl1-struct (2) glsl1-struct (3) glsl1-struct (4)
2010-07-22glsl2: When setting the size of an unsized array, set its deref's size too.Eric Anholt
2010-07-22glsl: remove invalid _mesa_problem() callBrian Paul
Fixes fd.o bug 29206.
2010-07-22glsl2: Set the type on cloned tex instructions.Eric Anholt
2010-07-22glsl2: Add the API defines to the glsl2 build so we get the right GLcontextEric Anholt
Fixes: draw_buffers-08.frag draw_buffers-09.frag glsl-vs-texturematrix-2
2010-07-22draw: re-order optimization passes depending on LLVM version, 32/64-bitBrian Paul
This is a work-around for an apparent bug in LLVM seen with piglit's glsl-vs-sqrt-zero test.
2010-07-22glsl2: Fix builtin prototypes defined in multiple glsl/builtins/* filesEric Anholt
If we put the protos in separate ir_functions, they wouldn't be found at lookup time for linking. Fixes: glsl-fs-texture2d-bias glsl-fs-texture2dproj-bias glsl-fs-texture2dproj-bias-2 glsl-lod-bias glsl1-texture2D(), computed coordinate
2010-07-22glsl2: Fix expected type for multiplying vector with non-square matrix.Carl Worth
Previously, the compiler expected the result of the multiplication to be of the same type as the vector. This is correct for square matrices, but wrong for all others. We fix this by instead expecting a vector with the same number of rows as the matrix (for the case of M*v with a column vector) or the same number of columns as the matrix (for v*M with a row vector). This fix causes the following four glean tests to now pass: glsl1-mat4x2 * vec4 glsl1-vec2 * mat4x2 multiply glsl1-vec3 * mat4x3 multiply glsl1-vec4 * mat3x4 multiply
2010-07-22glsl2: Fix the type of (1.0 - arg2) for mix(gen, gen, float).Eric Anholt
Previously, we'd constant-fold up a value of vec4(1.0 - arg2, 0, 0, 0). Fixes: glsl1-mix(vec4) function
2010-07-22glsl2: When inlining, don't clone and assign sampler arguments.Eric Anholt
Instead, just use the incoming sampler param. Fixes many texture-using piglit tests since the linker rework.
2010-07-22glsl2: When a "continue" happens in a "for" loop, run the loop expression.Eric Anholt
Fixes: glsl1-for-loop with continue Bug #29097
2010-07-22ir_to_mesa: Pretty up the printing of MESA_GLSL=dumpEric Anholt
2010-07-22mesa: Only complain about an infinite loop in a swrast program once.Eric Anholt
Chances are, if one fragment looped badly, others will too, and debugging output gets overwhelmed by the looping complaints.
2010-07-22ir_to_mesa: Add support for MESA_GLSL=dump environment var.Eric Anholt
2010-07-22draw: added new assertions to clipping codeBrian Paul
2010-07-22i965: Respect VS/VP point size result when enabled.Eric Anholt
Fixes glsl-vs-point-size.
2010-07-22i965: Fix the disasm output for da16 src widths.Eric Anholt
This has confused me twice now. It's a fixed width of 4 (usually a region description of <4,4,1>), not 1. If it was 1, we'd have been skipping all over register space.
2010-07-22i965: Avoid extra MOV in VS indirect register reads.Eric Anholt
2010-07-22i965: Fix up VS temporary array access for fixed index offset != 0.Eric Anholt
2010-07-22r600: Flip point sprite coordinates when rendering to an FBO.Henri Verbeet
This supersedes http://lists.freedesktop.org/archives/mesa-dev/2010-July/001442.html.
2010-07-21glsl2: Use talloc on InfoLog handling in ValidateProgramEric Anholt
Fixes a segfault in Regnum Online.
2010-07-21i965: In the VS, multiply the address reg by the appropriate register size.Eric Anholt
The ARL value is increments of vec4 in the register file. But PROGRAM_TEMPORARY or PROGRAM_INPUT are stored as vec4s interleaved between the two verts being executed (thus a vec8 each), compared to PROGRAM_STATE_VAR being packed vec4s. Fixes: glsl-vs-arrays-2 glsl-vs-mov-after-deref (without regressing glsl-vs-arrays-3)
2010-07-21i965: Clean up brw_dp_READ_4_vs() now that it has fewer options to support.Eric Anholt
2010-07-21i965: Support relative addressed VS constant reads using the appropriate msg.Eric Anholt
The previous support was overly complicated by trying to use the same 1-OWORD message for both offsets.
2010-07-21i965: Fix the DP read msg_control definitions other than plain OWORD.Eric Anholt
2010-07-21i965: Clean up dead code from the VS get_constant/get_reladdr_constant split.Eric Anholt
2010-07-21i956: Set the execution size correctly for scratch space writes.Eric Anholt
Otherwise, the second half isn't written, and we end up reading back black. Fixes the remaining junk drawn in glsl-max-varyings, and will likely help with a number of large real-world shaders.
2010-07-21i965: Set the GEM domain flags for the scratch space.Eric Anholt
They go into the render cache, so while we don't care about their contents after execution, failing to note them could cause the writes to be flushed over important buffer contents later.
2010-07-21i965: Use the pretty define for 4-oword DP reads.Eric Anholt
2010-07-21i965: Set the send commit bit on register spills as required pre-gen6.Eric Anholt
Otherwise, the subsequent read may not get the written value.
2010-07-21i965: Add disasm for dataport reads (register unspilling).Eric Anholt
2010-07-21glx: Move last few dri_interface.h types out of glxclient.h and drop includeKristian Høgsberg
2010-07-21glx: Move __driContext field out of __GLXcontextRecKristian Høgsberg
2010-07-21glsl2: Update TODO.Kenneth Graunke
2010-07-21ir_constant_expression: Add support for array == and !=.Kenneth Graunke
Piglit parser tests const-array-03.frag and const-array-04.frag now generate the correct code.
2010-07-21ir_constant_expression: Add support for constant arrays.Kenneth Graunke
Fixes piglit test const-array-02.frag.
2010-07-21ir_reader: Add support for reading constant arrays.Kenneth Graunke
2010-07-21ir_print_visitor: Print out constant arrays.Kenneth Graunke
2010-07-21ir_print_visitor: Remove commas between ir_constant's components.Kenneth Graunke
The IR reader does not expect commas.
2010-07-21glsl2: Extend ir_constant to store constant arrays, and generate them.Kenneth Graunke
Since GLSL permits arrays of structures, we need to store each element as an ir_constant*, not just ir_constant_data. Fixes parser tests const-array-01.frag, const-array-03.frag, const-array-04.frag, const-array-05.frag, though 03 and 04 generate the wrong code.
2010-07-21glsl2: Emit array constructors inline.Kenneth Graunke
2010-07-21ast_to_hir: Fix bug in constant initializers.Kenneth Graunke
Implicit conversions were not being performed, nor was there any type checking - it was possible to have, say, var->type == float and var->constant_value->type == int. Later use of the constant expression would trigger an assertion. Fixes piglit test const-implicit-conversion.frag.
2010-07-21ir_constant_expression: Add support for ir_unop_u2f.Kenneth Graunke
Also make ir_unop_i2f only operate on signed integers.
2010-07-21ir_constant_expression: Remove open coded equality comparisons.Kenneth Graunke
The ir_constant::has_value method already does this.
2010-07-21glsl2: Add some comments.Kenneth Graunke
2010-07-21glsl2: Replace insert_before/remove pairs with exec_node::replace_with.Kenneth Graunke
2010-07-21linker: Link built-in functions instead of including them in every shaderIan Romanick
This is an invasive set of changes. Each user shader tracks a set of other shaders that contain built-in functions. During compilation, function prototypes are imported from these shaders. During linking, the shaders are linked with these built-in-function shaders just like with any other shader.
2010-07-21glsl2: Add function to import function prototypes from one IR tree to anotherIan Romanick
2010-07-21softpipe: add missing support for PIPE_FORMAT_S8_USCALED surfacesBrian Paul
And remove checks of surface depth bits. The state tracker should not turn on depth/stencil testing if the framebuffer doesn't have depth/stencil.