summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600g: precompute some of the hw stateJerome Glisse2010-08-3011-216/+229
| | | | | | | | | | 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 <[email protected]>
* r600g: fix depth buffer decompression after states reworkJerome Glisse2010-08-301-1/+1
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fixup states generation in winsys.Dave Airlie2010-08-3015-335/+295
| | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* glapi: fix generator which got out of sync with the codebaseLuca Barbieri2010-08-301-3/+3
| | | | | The __GLapi typedef was removed in c356f5867f2c1fad7155df538b9affa8dbdcf869, but the code generator hasn't been updated.
* i965: Clear the cached constant buffer entry in the VS at control flow.Eric Anholt2010-08-301-1/+21
| | | | | Fixes the 7 regressions with constant buffers forced on with piglit -t glsl (glsl-vs-if-*).
* i965: Align the number of payload regs to 2 again in 16-wide mode.Eric Anholt2010-08-301-1/+1
| | | | | Fixes a regression in point-line-no-cull and glean/paths tests since 501c9dc62774a73c080d500a1eab773b0da9577e.
* i965: Apply the rest of the old-libdrm guard patch.Cedric Vivier2010-08-301-0/+13
| | | | Bug #29855
* i965: Add support for loops to the new FS backend.Eric Anholt2010-08-301-4/+82
| | | | | | | | 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.
* i965: Make brw_CONT and brw_BREAK take the pop count.Eric Anholt2010-08-304-14/+10
| | | | We always need to set it, so pass it in.
* i965: Add "discard" support to the new FS backend.Eric Anholt2010-08-301-1/+19
| | | | Fixes 3 testcases related to discard.
* i965: Fix the new implementation of ir_unop_sign to match brw_wm_emit.cEric Anholt2010-08-301-5/+8
| | | | | | | | | 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.
* i965: Add support for texturing with bias to i965 FS backend.Eric Anholt2010-08-302-17/+60
| | | | | Fixes 5 piglit tests for bias. Note that LOD is a 1.30 feature and not yet supported.
* glut: Silence missing initializer warning.José Fonseca2010-08-301-1/+1
|
* mesa: Return after assertion failure.José Fonseca2010-08-301-1/+1
| | | | | | Addresses the warnings: warning: ‘target’ may be used uninitialized in this function warning: ‘target_string’ may be used uninitialized in this function
* gallivm: Compute the 4 texel offsets for linear filtering en ensemble.José Fonseca2010-08-303-126/+280
|
* glsl: Silence unused variable warning.José Fonseca2010-08-301-0/+1
|
* mesa: Fix _mesa_lookup_parameter_constant's return value.José Fonseca2010-08-301-2/+4
| | | | | | | | | 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.
* gallivm: Disable LLVM's pretty stack trace dumper.José Fonseca2010-08-301-0/+8
| | | | | | | | 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.
* gallivm: Correct copy'n'pasted comments.José Fonseca2010-08-301-4/+4
|
* gallivm: Fix lp_build_sum_vector.José Fonseca2010-08-301-6/+4
| | | | | | | The result is scalar, so when argument is zero/undef we can pass vector zero/undef. Also, support the scalar case.
* svga: Fix CMP translation for vertex shader targets.Michal Krol2010-08-301-0/+19
| | | | | SVGA3DOP_CMP is not supported for vertex shaders; use SLT + LRP instead.
* svga: Re-emit bound rendertargets and texture samplers at the beginning of ↵José Fonseca2010-08-304-8/+27
| | | | | | | | | every command buffer. Only non null resources. To ensure that relocations are emitted for every resource currently referred.
* st/mesa: set the MaxVarying GLSL constantMarek Olšák2010-08-301-0/+7
|
* r300g: fix warning in winsysMarek Olšák2010-08-301-0/+1
|
* r600g: add DST opcode support.Dave Airlie2010-08-301-1/+41
|
* r600g: add SCS support.Dave Airlie2010-08-301-6/+69
|
* r600g: fix warning introduced by last commit.Dave Airlie2010-08-301-1/+0
|
* r600g: add initial relative support to assemblerDave Airlie2010-08-304-6/+45
| | | | | | passes another ~20 piglits. /me starts to run out low hanging fruit around now.
* linker: Treat sized and unsized array types as the sameIan Romanick2010-08-291-6/+20
| | | | | | | | | | 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.
* r600g: add KILP supportDave Airlie2010-08-303-5/+23
| | | | passes glsl1-discard tests
* r600g: fix SSG and op3 neg writingDave Airlie2010-08-302-14/+15
| | | | 8 more piglits, mainly the two SSG tests.
* r600g : add basic loop support.Dave Airlie2010-08-303-23/+247
| | | | | | Adds BGNLOOP, BRK, CONT, ENDLOOP support, ported from r600c. 17 piglits more on r300g.tests.
* r600g: use the values from the correct literalsBas Nieuwenhuizen2010-08-301-4/+23
| | | | | | Created an array for literals as we should not always use the last declared literal. Signed-off-by: Dave Airlie <[email protected]>
* r600g: added literals where needed for POW instructionBas Nieuwenhuizen2010-08-301-0/+9
| | | | | | Fixes size calculation for the bytecode buffer. Signed-off-by: Dave Airlie <[email protected]>
* evergreen : fix shader const allocation and instruction bugs.Richard Li2010-08-296-20/+48
|
* glsl: Initialize data in ast_function_expression::hir.Vinson Lee2010-08-291-1/+1
| | | | | | | Completely initialize data that is passed to ir_constant constructor. Fixes piglit glsl-orangebook-ch06-bump valgrind uninitialized variable error on softpipe and llvmpipe.
* glsl: Completely initialize value member in ir_constant constructor.Vinson Lee2010-08-291-0/+3
| | | | | | | | | 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.
* glsl: Initialize variable in ir_swizzle::constant_expression_value.Vinson Lee2010-08-291-1/+1
| | | | | | | Complete initialize data passed to ir_constant constructor. Fixes piglit glsl-mat-from-int-ctor-02 valgrind unintialized variable error with softpipe and llvmpipe.
* glsl: Initialize data in read_constant.Vinson Lee2010-08-291-1/+1
| | | | | | | Completely initialize data that is passed into a ir_constant constructor. Fixes piglit glsl-fs-mix valgrind uninitialized variable error on softpipe and llvmpipe.
* ir_to_mesa: Initialize variable in ir_to_mesa_visitor::visit.Vinson Lee2010-08-291-1/+1
| | | | | Fixes piglit glsl-fs-loop valgrind uninitialized value error on softpipe and llvmpipe.
* r600g: drop file I added by mistake in a previous commitDave Airlie2010-08-291-186/+0
|
* glsl: Initialize the rest of values of ir_constant::value.Vinson Lee2010-08-281-0/+12
| | | | | Fixes valgrind uninitialized value errors in the piglit shader tests for softpipe and llvmpipe.
* gallium: Remove unnecessary header from p_state.h.Vinson Lee2010-08-281-1/+0
| | | | Remove p_screen.h.
* nvfx: Remove util_is_pot in favor of util_is_power_of_two.Vinson Lee2010-08-282-5/+5
| | | | This is a follow up to commit 89b2897220acfacdc431f138377fbcec9f0ea812.
* util: Include missing header in u_draw.h.Vinson Lee2010-08-281-0/+1
| | | | Include p_state.h for complete type to pipe_draw_info.
* util: Add forward declaration in u_transfer.h.Vinson Lee2010-08-281-0/+1
|
* r300g,u_blitter: use u_framebufferMarek Olšák2010-08-294-38/+6
| | | | Removing another function duplication in u_blitter.
* util: remove util_is_pot in favor of util_is_power_of_twoMarek Olšák2010-08-296-18/+8
| | | | The function was duplicated.
* i965: Add initial support for texturing to the new FS backend.Eric Anholt2010-08-281-15/+128
| | | | Fixes 11 piglit tests.
* i965: Add disasm for gen5 sampler messages.Eric Anholt2010-08-281-6/+19
|