Age | Commit message (Collapse) | Author |
|
Idea is to build hw state at pipe state creation and
reuse them while keeping a non PM4 packet interface
btw winsys & pipe driver. This commit also force rebuild
of pm4 packet on each call to radeon_state_pm4 which
in turn slow down everythings, this will be addressed.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
The current states code had an unhealthy relationship between
that had to somehow magically align themselves, editing either
place meant renumbering all states after the one you were on,
and it was pretty unapproachable code.
This replaces the huge types structures with a simple type + sub
type struct, which is keyed on an stype enum in radeon.h. Each
stype can have a per-shader type subclassing (4 types supported,
PS/VS/GS/FS), and also has a number of states per-subtype. So you
have 256 constants per 4 shaders per one CONSTANT stype.
The interface from the driver is changed to pass in the tuple,
(stype, id, shader_type), and we look for this. If
radeon_state_shader ever shows up on profile, it could use a
hashtable based on stype/shader_type to speed things up.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
The __GLapi typedef was removed in c356f5867f2c1fad7155df538b9affa8dbdcf869,
but the code generator hasn't been updated.
|
|
Fixes the 7 regressions with constant buffers forced on with piglit -t
glsl (glsl-vs-if-*).
|
|
Fixes a regression in point-line-no-cull and glean/paths tests since
501c9dc62774a73c080d500a1eab773b0da9577e.
|
|
Bug #29855
|
|
This includes a handy little safety check to prevent the loop from
going "too long", as permitted by the spec. I haven't gone out of my
way to test it, though…
Fixes 20 more piglit tests.
|
|
We always need to set it, so pass it in.
|
|
Fixes 3 testcases related to discard.
|
|
Like the comparison operations, this suffered from CMP only setting
the low bit. Doing the AND instructions would be the same instruction
count as the more obvious conditional moves, so do cond moves.
Fixes glsl-fs-sign and 6 other cases, like trig functions that use
sign() internally.
|
|
Fixes 5 piglit tests for bias. Note that LOD is a 1.30 feature and
not yet supported.
|
|
|
|
Addresses the warnings:
warning: ‘target’ may be used uninitialized in this function
warning: ‘target_string’ may be used uninitialized in this function
|
|
|
|
|
|
Fixes gcc warning
In function ‘_mesa_add_unnamed_constant’:
warning: ‘pos’ may be used uninitialized in this function
but also what appears to be a bug.
|
|
By default LLVM adds a signal handler to output a pretty stack trace.
This signal handler is never removed, causing problems when unloading
the shared object where the gallium driver resides.
Thanks to Chris Li for finding this.
|
|
|
|
The result is scalar, so when argument is zero/undef we can pass vector
zero/undef.
Also, support the scalar case.
|
|
SVGA3DOP_CMP is not supported for vertex shaders;
use SLT + LRP instead.
|
|
every command buffer.
Only non null resources.
To ensure that relocations are emitted for every resource currently
referred.
|
|
|
|
|
|
|
|
|
|
|
|
passes another ~20 piglits.
/me starts to run out low hanging fruit around now.
|
|
If two shaders contain variables declared with array types that have
the same base type but one is sized and the other is not, linking
should succeed. I'm not super pleased with the way this is
implemented, and I am more convinced than ever that we need more
linker tests. We especially need "negative" tests.
Fixes bugzilla #29697 and piglit test glsl-link-array-01.
|
|
passes glsl1-discard tests
|
|
8 more piglits, mainly the two SSG tests.
|
|
Adds BGNLOOP, BRK, CONT, ENDLOOP support, ported from r600c.
17 piglits more on r300g.tests.
|
|
Created an array for literals as we should not always use the last declared literal.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Fixes size calculation for the bytecode buffer.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
Completely initialize data that is passed to ir_constant constructor.
Fixes piglit glsl-orangebook-ch06-bump valgrind uninitialized variable
error on softpipe and llvmpipe.
|
|
The
ir_constant::ir_constant(const struct glsl_type *type, exec_list *value_list)
did not completely initialize the entire value member.
Fixes piglit glsl-fs-sampler-numbering-2 valgrind uninitialized value
error in softpipe and llvmpipe.
|
|
Complete initialize data passed to ir_constant constructor.
Fixes piglit glsl-mat-from-int-ctor-02 valgrind unintialized variable
error with softpipe and llvmpipe.
|
|
Completely initialize data that is passed into a ir_constant constructor.
Fixes piglit glsl-fs-mix valgrind uninitialized variable error on
softpipe and llvmpipe.
|
|
Fixes piglit glsl-fs-loop valgrind uninitialized value error on softpipe
and llvmpipe.
|
|
|
|
Fixes valgrind uninitialized value errors in the piglit shader tests for
softpipe and llvmpipe.
|
|
Remove p_screen.h.
|
|
This is a follow up to commit 89b2897220acfacdc431f138377fbcec9f0ea812.
|
|
Include p_state.h for complete type to pipe_draw_info.
|
|
|
|
Removing another function duplication in u_blitter.
|
|
The function was duplicated.
|
|
Fixes 11 piglit tests.
|
|
|