Age | Commit message (Collapse) | Author |
|
It can't call anything, so there's no point.
|
|
|
|
It only cares about "if", "loop", and "discard".
|
|
Most of the time we don't have a non-uniform struct variable in the
shader, so this cuts the time spent in do_structure_splitting during
glean texCombine by about 2/3.
|
|
Reduces time spent in this during glean texCombine by about 2/3.
|
|
Cuts the time spent in this function during glean texCombine by 2/3.
|
|
|
|
|
|
|
|
This fixes an issue where the .obj files wound up in the src/
directory rather than the build/ directory. That prevented
combined 32-bit and 64-bit builds from working.
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
|
|
|
|
v2: change the gallium entry point to texture_barrier.
|
|
|
|
Be sure to type "make clean" after this commit, otherwise your binaries
will segfault.
|
|
|
|
Additionally, to discarding the whole buffer, use
PIPE_TRANSFER_DISCARD_RANGE in pipe_buffer_write when the
write covers only part of the buffer.
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
|
|
In memory mapping buffer objects make use of
PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE and PIPE_TRANSFER_DISCARD_RANGE
when appropriate.
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
|
|
|
|
Evergreen.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
Spotted by Henri on IRC.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
It doesn't support them. Also, we shouldn't be
emitting CB_BLENDx_CONTROL on R600 as the regs don't
exist there, but I'm not sure of the best way to deal
with this in the current r600 winsys.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Only rv6xx+ support them.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
This packet is required when updating the DB, CB,
or STRMOUT base addresses on rv6xx for the surface
sync logic to work correctly.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
This sort of worked because blend state setup cleared MULTIWRITE_ENABLE again,
but that's not something we want to depend on.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
Disable Z_EXPORT / STENCIL_EXPORT / KILL_ENABLE again if a shader doesn't
use those. This is similar to 0a6f09a76a416b8672e149c520aa5bef33174223.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
The idea behind this is that anything touching registers should be in
r600_state.c or evergreen_state.c. This is also consistent with
evergreen_pipe_shader_vs().
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|
|
We need more and more of these, and it is difficult and prone to version
incompatability issues trying to single out every one of them.
This mimicks what was done in SCons.
|
|
This enables the new shadow texture functions in GLSL 1.30.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
Change swizzle from (x000) to (x001).
Signed-off-by: Chad Versace <chad.versace@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
The assignment on line 368, `tex_swizzles[i] = SWIZZLE_NOOP`, is rendered
dead by the reassignment on line 392.
Signed-off-by: Chad Versace <chad.versace@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
This is necessary for GLSL 1.30+ shadow sampling functions, which return
a single float rather than splatting the value to a vec4 based on
GL_DEPTH_TEXTURE_MODE.
|
|
|
|
It's a generic function capable of storing A8, L8, I8, R8.
|
|
This was probably missed when implementing luminance and luminance alpha
render targets.
_mesa_get_format_bits checks for both GL_*_BITS and GL_TEXTURE_*_SIZE.
This fixes:
main/framebuffer.c:892: _mesa_source_buffer_exists: Assertion `....' failed.
|
|
|
|
This file generates code for the X server and it still uses
the __GLXcontext structure name.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
The r300 compiler can eliminate unused uniforms and remap uniform locations
if their number surpasses hardware limits, so the limit is actually
NumParameters + NumUnusedParameters. This is important for some apps
under Wine to run.
Wine sometimes declares a uniform array of 256 vec4's and some Wine-specific
constants on top of that, so in total there is more uniforms than r300 can
handle. This was the main motivation for implementing the elimination
of unused constants.
We should allow drivers to implement fail & recovery paths where it makes
sense, so giving up too early especially when comes to uniforms is not
so good idea, though I agree there should be some hard limit for all drivers.
This patch fixes:
- glsl-fs-uniform-array-5
- glsl-vs-large-uniform-array
on drivers which can eliminate unused uniforms.
|
|
tested by okias on irc
|
|
|
|
Included in LLVM 2.7+. Unlink udis86, should support all instructions that
LLVM can emit.
|
|
|
|
|
|
|
|
Fixes crashes in [soft|llvm]pipe when replacing shaders
|
|
Avoid setting the same gpu register several times in a r600_pipe_state.
Compute the final value of the register and set that one time. This avoids
some overhead in r600_context_pipe_state_set().
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
|