| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Fixes mysterious failures in glean glsl1 test.
|
|
|
|
|
|
|
|
Since Ian's patch of a few weeks ago, we can enable all three variations
of two-sided stencil. Update the state tracker to handle the extra back-
face state and turn on the EXT.
Note: there's a new Glean test for two-sided stencil now...
|
|
|
|
Back-face stencil operations didn't work correctly because this value was
zero. It needs to be 1 or 2. The only place it's set otherwise is in
glEnable/Disable(GL_STENCIL_TEST_TWO_SIDE_EXT).
|
|
|
|
|
|
|
|
The texmem.c interface is wildly messed up it really wants to own the objects
so let it, pain in the ass but this code should work a lot better now
|
|
This reverts commit 5325f8624093bb1ec30d581b4ff64218ceab99f9.
|
|
|
|
|
|
the destroy path was doing bad things with structure names, make it do less
bad things, use container_of instead
|
|
|
|
this is just more code cleanup for old dead code
|
|
|
|
this is whole texture dirty bit is probably not needed with the current
codebase, need to revisit
|
|
This replaces a miptree if it won't distrub anything else.
|
|
|
|
The radeon legacy code want to cleanup not free the texture obj,
so export a function to do that and wrap it.
|
|
this makes compressed subimages work properly.
|
|
|
|
You don't need libdrm_radeon for the legacy driver to build,
only for the experimental mm/cs paths.
|
|
Since texture images are now stored in miptrees, we cannot usually
access them directly via the Data pointer.
So we wrap Mesa's implementation by map/unmap calls.
This crash was triggered by Sauerbraten, Piglit now contains a
regression test.
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
The mip tree creation would crash if the first baselevel image to be uploaded
was not the positive-x image.
Found with Sauerbraten, also added a regression test to Piglit.
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
|
|
R3xx/R5xx fragment program texture constants must come from a hardware
register instead of the constant file, so we redirect if necessary during
the native rewrite phase.
The symptoms of this bug started appearing when the Mesa fixed function
texenvprogram code started using STATE_CURRENT_ATTRIB constants for
texture coordinates when the corresponding attributes were constant across
all vertices.
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
Move the is_boolean/integer_type() calls out of the loops.
Move the is_sampler_type() function near the bool/int functions.
Add a bunch of comments.
|
|
We were off by one when checking for too many uniform values.
|
|
If the vertex shader writes to a varying array with a variable index,
mark all the elements of that array as being written.
For example, if the vertex shader does:
for (i = 0; i < 4; i++)
gl_TexCoord[i] = expr;
Mark all texcoord outputs as being written, not just the first.
Linking will fail if a fragment shader tries to read an input that's not
written by the vertex shader. Before this fix, this linker test could fail.
|
|
Obviously, the color of fragments produced by DrawPixels is not constant,
even if the current vertex array / vertex program state indicates that the
color for normal rendering will be constant. Therefore, we need to override
certain optimisations that have been added to texenvprogram.c
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
|
|
Old limit was 256. Note that no arrays are declared to this size.
The only place we have to be careful about raising this limit is the
prog_src/dst_register Index bitfields. These have been bumped up too.
Added assertions to check we don't exceed the bitfield in the future too.
|
|
This new issue was exposed by commit 6eabfc27f19a10dfc2663e99f9560966ba1ff697
|
|
Conflicts:
src/gallium/drivers/softpipe/sp_tile_cache.c
|
|
It looks like I resolved the merge conflicts but did not save my emacs
buffers before committing...
|
|
Conflicts:
src/mesa/state_tracker/st_cb_accum.c
src/mesa/state_tracker/st_cb_drawpixels.c
|
|
Note: the default value for EmitCondCodes is FALSE. This means the GLSL
compiler will emit code like this:
SEQ TEMP[0].x, A, B;
IF TEMP[0].x;
...
ENDIF
But if EmitCondCodes is TRUE, condition codes will be used instead:
SEQ.C TEMP[0].x, A, B;
IF (NE.xxxx);
...
ENDIF
|
|
The default for EmitCondCodes got flipped when gallium-0.2 was merged.
This fixes GLSL if/else/endif regressions.
Drivers that use GLSL should always explicitly set the flag to be safe.
|
|
|
|
R3xx/R5xx fragment program texture constants must come from a hardware
register instead of the constant file, so we redirect if necessary during
the native rewrite phase.
The symptoms of this bug started appearing when the Mesa fixed function
texenvprogram code started using STATE_CURRENT_ATTRIB constants for
texture coordinates when the corresponding attributes were constant across
all vertices.
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|