Age | Commit message (Collapse) | Author |
|
If we bias x,y we still need to pass through z,w in case the shader
reads gl_FragCoord.z or .w.
Fixes fd.o bug 29183 (piglit glsl-bug-22603).
NOTE: This is a candidate for the 7.8 branch.
|
|
This should be more useful for developers and for bug triaging than
just generating wrong code.
|
|
Fixes glsl-vs-arrays. Bug #27388.
|
|
Fixes:
glsl1-struct (1)
glsl1-struct (2)
glsl1-struct (3)
glsl1-struct (4)
|
|
Fixes fd.o bug 29206.
|
|
|
|
Chances are, if one fragment looped badly, others will too, and
debugging output gets overwhelmed by the looping complaints.
|
|
|
|
Fixes glsl-vs-point-size.
|
|
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.
|
|
|
|
|
|
This supersedes http://lists.freedesktop.org/archives/mesa-dev/2010-July/001442.html.
|
|
Fixes a segfault in Regnum Online.
|
|
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)
|
|
|
|
The previous support was overly complicated by trying to use the same
1-OWORD message for both offsets.
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
Otherwise, the subsequent read may not get the written value.
|
|
|
|
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.
|
|
|
|
To quiet a compiler warning.
|
|
This quiets a compiler warning, (and ensures a segmentation fault rather
than memory corruption if this variable is written through before being
initialized elsewhere).
|
|
To quiet a compiler warning.
|
|
Based on the two recent changes to program_lexer.l.
|
|
This avoids two "function defined but not used" warnings. For the yyinput
function we define YY_NO_INPUT which tells flex to simply not generate this
function.
For unput, we add a call to this function, but inside a while(0) so
that it will quiet the warning without actually changing any
functionality.
|
|
Add declarations for two functions generated in the flex ouput. It
would be nicer if flex simply declared these generated functions as
static, but for now we can at least avoid the warning this way.
|
|
|
|
Coming changes to the handling of built-in functions necessitate this.
|
|
This is quite a large patch because breaking it into smaller pieces
would result in the tree being intermitently broken. The big changes
are:
* Add the ir_var_temporary variable mode
* Change the ir_variable constructor to take the mode as a
parameter and correctly specify the mode for all ir_varables.
* Change the linker to not cross validate ir_var_temporary
variables.
* Change the linker to pull all ir_var_temporary variables from
global scope into 'main'.
|
|
This caught the failure in cloning of ir_dereference_record.
|
|
To allow for the removal of a single element from a hash table.
|
|
|
|
Fixes:
glsl1-built-in constants
|
|
I hadn't noticed you could do this, but glsl1 tests caught it. Fixes:
glsl1-Swizzled writemask
glsl1-Swizzled writemask (2)
glsl1-Swizzled writemask (rgba)
glsl1-Swizzled writemask (stpq)
|
|
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
|
|
When defining mipmap level 'L' and level L-1 exists and the new level's
internalFormat matches level L-1's internalFormat, then use the same hw
format. Otherwise, do the regular ctx->Driver.ChooseTextureFormat() call.
This avoids a problem where we end up choosing different hw formats for
different mipmap levels depending on how the levels are defined (glTexImage
vs. glCopyTexImage vs. glGenerateMipmap, etc).
The root problem is the ChooseTextureFormat() implementation in some
drivers uses the user's glTexImage format/type parameters in the choosing
heuristic. Later mipmap levels might be generated with different calls
(ex: glCopyTexImage()) so we don't always have format/type info and the
driver may choose a different format.
For more background info see the July 2010 mesa-dev thread "Bug in
_mesa_meta_GenerateMipmap"
|
|
The extension never worked, the implementation returns GLX_BAD_CONTEXT
when enabling the frame tracking.
|
|
Only r200 implemented it.
|
|
There was confusion on both the size of message we can send, and on
what the URB destination offset means.
The remaining problems appear to be due to spilling of regs in the
fragment shader being broken.
|
|
|
|
This cleans up some chipset dependency sprinkled around, and fixes a
potential overflow of the attribute offset array for many vertex
results.
|
|
|
|
|