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>
|
|
|
|
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.
|
|
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>
|
|
|
|
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.
|
|
Include p_screen.h for complete type to pipe_screen.
|
|
Include p_screen.h for completely type to pipe_screen.
|
|
Include p_screen.h for complete type to pipe_screen.
|
|
Even though MIP filtering is not supported, we can bind an arbitrary mipmap
as the zero mipmap level.
NPOT textures now follow GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MIN_LOD.
This fixes piglit/fbo-copyteximage.
|
|
|
|
As per docs.
|
|
|
|
|
|
Silence the kernel, vbo size is size - 1.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
|
|
Fix mingw build.
|
|
Thanks to Michal for spotting it.
|
|
Use an internal struct for line setup information.
|
|
Point sprites now done in the rasterizer setup code instead of
going through the draw module.
|
|
A few subpixel_snap and fixed width changes.
Conflicts:
src/gallium/drivers/llvmpipe/lp_setup_point.c
|
|
Conflicts:
src/gallium/drivers/llvmpipe/lp_setup_context.h
src/gallium/drivers/llvmpipe/lp_setup_line.c
src/gallium/drivers/llvmpipe/lp_setup_tri.c
|
|
|
|
|
|
Line rasterization that follows diamond exit rule.
Can still optimize logic for start/endpoints.
|
|
Rasterize lines directly by treating them as 4-sided polygons.
Still need to check the exact pixel rasteration.
|
|
|
|
Looks nice, but makes almost no impact on performance - maybe
a percent or so in isosurf, nothing elsewhere. May be of use
later on.
|
|
Remove p_compiler.h.
|
|
Include p_compiler.h for boolean and INLINE symbols.
|