Age | Commit message (Collapse) | Author |
|
Tested with glean/texture_srgb and wine/d3d9 tests on RV535
|
|
This is handled entirely in core Mesa where the combiner state is converted
into a fragment program.
|
|
|
|
|
|
|
|
|
|
use the actual value set in the context
|
|
|
|
If GL context had e.g. tex0, tex2 and fog the VAPOutputCntl1 returned 0x104 instead of 0x124 - that meaned we're sending only 8 texcoords (instead of 12) which ended up in GPU hang.
|
|
We shouldn't use i variable for SWTCL_OVM_TEX because textures doesn't have to be enabled in "packed" order.
We could have tex1,tex3 and fog which would receive 7,9,8 OVM locations instead of 6,7,8.
|
|
|
|
|
|
RS_COL_FMT field is part of RS_IP_* reg not RS_INST_*
|
|
- when rewriting per component negate swizzle, first instruction should get not negated source
- KIL instruction ignores swizzles
TODO:
- tex instructions does not support saturation
- tex instructions cannot read from consant memory
|
|
|
|
Sending from VAP more texture coordinates than RS expects results in GPU hang.
Fixes BumpSelfShadow from DirectX8 SDK.
|
|
If the vertex program didn't write position attribute, the position invariant function would add necessary instructions, but the vertex position would be overwritten by artificial outputs insts added to satisfy fragment program requirements.
Fixes "whole screen is gray" problem for HW TCL path in sauerbraten when shaders are enabled, and whole slew of wine d3d9 tests.
|
|
|
|
|
|
If the vertex program wrote secondary color without primary color, the secondary color output register index would be 0 which resulted in overwriting vertex position in some cases.
|
|
|
|
Before, if a vertex shader's outputs didn't exactly match a fragment
shader's inputs we could wind up with invalid TGSI shader declarations.
For example:
Before patch:
DCL OUT[0], POSITION
DCL OUT[1], COLOR[1]
DCL OUT[2], GENERIC[0]
DCL OUT[3], GENERIC[0] <- note duplicate [0]
DCL OUT[4], GENERIC[2]
After patch:
DCL OUT[0], POSITION
DCL OUT[1], COLOR[1]
DCL OUT[2], GENERIC[0]
DCL OUT[3], GENERIC[1]
DCL OUT[4], GENERIC[2]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This was sometimes seen when Glean exited upon test failure when using
Gallium.
|
|
Conflicts:
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_framebuffer.c
|
|
|
|
|
|
touching the depth component.
|
|
|
|
Fixes glean depthStencil test.
|
|
Actually, after spotting this problem, I realized this is unreachable
code. However don't bother to enable this fast path now, given the normal
path is working just fine.
|
|
|
|
Reversed component order.
This fixes glean depthStencil test failures for PIPE_FORMAT_Z24S8_UNORM
visuals.
|
|
(cherry picked from master, commit 7fdd64ab29576e607434fb8c82ddfa61e8ea6aa8)
|
|
(cherry picked from master, commit cc22620e4b11425997f3bc1fc70f4c88cec22d2e)
|
|
|
|
|
|
Add _NEW_PROGRAM_CONSTANTS to _SWRAST_NEW_DERIVED.
This makes sure that we update the fragment shader's constants when state
vars (such as point size) changes.
Fixes the progs/glsl/points.c demo.
|
|
(cherry picked from master, commit d9617deb008b75f4a605a30408aeb1948139c33e)
|
|
See comments for details.
|
|
|
|
The existing implementation was already implemented on software, but relied
on the pipe driver to always support the R16G16B16A16_SNORM format. This
patch eliminates that, without prejudice against a future hardware-only
implementation.
It also avoids some of the short <-> float conversions, and only does a read
transfer of the color buffer on GL_RETURN if absolutely necessary.
|
|
vertices
When with memory manager we need to make sure the GPU won't try to access
beyond vertex buffer size, do so by enforcing that the maximun index is the
last vertex of the buffer.
|
|
In st_bufferobj_map_range(), set obj->Offset consistently with its
usage elsewhere.
|
|
(cherry picked from master, commit ef8caec29ae73bb2bbeb48f0578d839ef29348cd)
|