Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes FDO bug #29116.
NOTE: this is a candidate for the 7.8 branch
|
|
|
|
Unlike the previous compiler, in this case we emit only one copy of
the function regardless of how many times it's called.
|
|
ARB_fp, ARB_vp, Mesa IR, and the 965 vertex shader all have
instructions for cross. Shaves 12 Mesa instructions off of a
66-instruction shader I have.
|
|
Found by Vinson with static analysis.
NOTE: This is a candidate for the 7.8 branch.
|
|
Add error path for unhandled dimensions in
compressed_texture_error_check.
|
|
Noticed by Henri Verbeet on IRC.
NOTE: This is a candidate for the 7.8 branch.
|
|
This avoids calling radeonFlush() during context destruction, when
ctx->DrawBuffer would be NULL.
NOTE: This is a candidate for the 7.8 branch.
|
|
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28771
NOTE: This is a candidate for the 7.8 branch.
|
|
The translate_prim() function tries to convert quad strips into
tri strips. This is normally OK but we have to check for an odd
number of vertices so that we don't accidentally draw an extra
triangle. The mesa-demos/src/samples/prim.c demo exercises that.
With this fix the stray yellow triangle is no longer drawn.
Use the u_trim_pipe_prim() function to make sure that prims have
the right number of vertices and avoid calling gallium drawing
functions when the prim has a degenerate number of vertices.
Plus add comments, clean-up formatting, etc.
NOTE: This is a candidate for the 7.8 branch.
|
|
_vbo_Materialf calls _vbo_Materialfv, which uses the params argument as
an array.
|
|
Fixes piglit object_purgeable-api-pbo, object_purgeable-api-vbo
and object_purgeable-api-texture failures with swrast.
NOTE: This is a candidate for the 7.8 branch.
|
|
|
|
|
|
|
|
|
|
|