| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
If last instruction is an CF_INST_ALU we don't need to emit an
additional CF_INST_POP for stack clean up after an IF ELSE ENDIF.
|
| |
|
|
|
|
|
|
|
|
| |
tgsi_helper_copy is used on several occasions to copy a temporary result
into the real destination register to emulate writemasks for OP3 and
reduction operations. According to R600 ISA that's unnecessary.
This patch fixes this use for MAD, CMP and DP4.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_texture.c
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow important performance increase by doing hw specific implementation
of the upload manager helper. Drop the range flushing that is not hit with
this code (and wasn't with previous neither). Performance improvement are
mostly visible on slow CPU.
Signed-off-by: Jerome Glisse <[email protected]>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Jerome Glisse <[email protected]>
|
| | |
|
| |
| |
| |
| | |
This prevents needless buffer validation (CS space checking).
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's not always possible to preprocess the content of 3D_LOAD_VBPNTR
in a command buffer, because the offset to all vertex buffers (which
the packet depends on) is derived from the "start" parameter of draw_arrays
and the "indexBias" parameter of draw_elements, but we can at least lazily
make a command buffer for the case when offset == 0, which should occur
most of the time.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid rebuilding constant shader state at each draw call,
factor out spi update that might change at each draw call.
Best would be to update spi only when revealent states
change (likely only flat shading & sprite point).
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Vertex elements change are less frequent than draw call, those to
avoid rebuilding fetch shader to often build the fetch shader along
vertex elements. This also allow to move vertex buffer setup out
of draw path and make update to it less frequent.
Shader update can still be improved to only update SPI regs (based
on some rasterizer state like flat shading or point sprite ...).
Signed-off-by: Jerome Glisse <[email protected]>
|
| | |
|
| |
| |
| |
| |
| |
| | |
Signed-off-by: Xavier Chantry <[email protected]>
Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com>
Signed-off-by: Patrice Mandin <[email protected]>
|
| |
| |
| |
| |
| |
| | |
Signed-off-by: Xavier Chantry <[email protected]>
Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com>
Signed-off-by: Patrice Mandin <[email protected]>
|
| |
| |
| |
| |
| | |
Signed-off-by: Xavier Chantry <[email protected]>
Signed-off-by: Patrice Mandin <[email protected]>
|
| |
| |
| |
| | |
This also removes DBG_STATS (the stats can be obtained with valgrind instead).
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Finished up by Marek Olšák.
We can set the constant space to use a different area per-call to the shader,
we can avoid flushing the PVS as often as we do by spreading out the constants
across the whole constant space.
Signed-off-by: Marek Olšák <[email protected]>
|
| |
| |
| |
| |
| |
| | |
It appears to be a constant buffer index (in case there are more constant
buffers explicitly used by a shader), i.e. something that Gallium currently
does not use. We treated it incorrectly as the offset to a constant buffer.
|
| |
| |
| |
| |
| |
| | |
Silences this GCC warning.
noop_state.c:247: warning: no previous prototype for
'noop_init_state_functions'
|
| |
| |
| |
| |
| | |
-D__STDC_CONSTANT_MACROS and -D__STDC_LIMIT_MACROS are only needed for
LLVM build.
|
| | |
|
| |
| |
| |
| | |
.. instead of calling r500_index_bias_supported(..) every draw call.
|
| |
| |
| |
| | |
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
| |
| |
| |
| |
| | |
Aim is to build as little state as possible in draw functions.
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
| |
| |
| | |
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=32070
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Jerome Glisse <[email protected]>
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
r600g might need something like that as well. This speeds up constant buffer
upload a bit.
|
| |
| |
| |
| |
| |
| |
| | |
Small perf improvement in ipers.
radeon_drm_get_cs_handle is exactly what this commit tries to avoid
in every write_reloc.
|
| |
| |
| |
| | |
The field was redundant. Use the gallivm->builder value instead.
|
| | |
|
| | |
|
| |
| |
| |
| | |
The other drivers need to be updated to do this, too.
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Ben Skeggs <[email protected]>
|
| | |
|
| | |
|