summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: finish multi target rendering supportJerome Glisse2010-08-065-32/+68
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix color format, indentation, definesJerome Glisse2010-08-063-89/+93
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* Revert "r600g: don't use dynamic state allocation for states"Jerome Glisse2010-08-066-297/+346
| | | | | | | | | | | This reverts commit 9c949d4a4dd43b7889e13bdf683bcf211f049ced. Conflicts: src/gallium/drivers/r600/r600_context.h src/gallium/drivers/r600/r600_draw.c src/gallium/drivers/r600/r600_shader.c src/gallium/drivers/r600/r600_state.c
* r600g: start to fix up multiple targets.Dave Airlie2010-08-063-17/+50
| | | | | | fixup exports from pixel shader for multi-cbs + depth buffer writing. Still crashes GPU running any of the multi-buffer or depth writing
* r600g: add SRGB support.Dave Airlie2010-08-063-4/+23
| | | | This enables GL2.1 and passes glean's texture_srgb test.
* r600g: fixup z format translations.Dave Airlie2010-08-062-20/+24
| | | | this enables GL_EXT_packed_depth_stencil. fbo-d24s8 passes
* r600g: fix targetmask to work correctly.Dave Airlie2010-08-061-2/+1
| | | | At least this seems to fix the glean maskedClear test.
* r600g: improve supported format selection.Dave Airlie2010-08-066-142/+212
| | | | | | | This fixes fbo-readpixels piglit test, and adds support for swapping the formats. Not all formats are correct yet I don't think. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add bo wait after map.Dave Airlie2010-08-061-0/+2
|
* r600g: don't use dynamic state allocation for statesJerome Glisse2010-08-056-356/+296
| | | | | | | | | | Simplify state handly by avoiding state allocation. Next step is to allocate once for all context packet buffer and then avoid rebuilding pm4 packet each time (through use of combined crc) this would also avoid number of memcpy. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: force flush on map as temporary fix to readpixelJerome Glisse2010-08-041-0/+2
| | | | | | | Should allow more piglit test to pass. Need to plugin proper flushing. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: always perform texture perspective divide + fix blendingJerome Glisse2010-08-044-65/+88
| | | | | | quake3 engine seems to run fine at this point (ioquake) Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add polygon offset supportJerome Glisse2010-08-033-7/+62
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: flush and resubmit if we reach limitJerome Glisse2010-08-034-37/+13
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix color target maskJerome Glisse2010-08-031-2/+1
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix stencilJerome Glisse2010-08-032-8/+7
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix LIT + fix multiple constant one ALU + fix ALU block splittingJerome Glisse2010-08-035-113/+207
| | | | | | | | | | | | | Make sure LIT fills all slot for instruction (can't do W instruction without having the Z slot filled with at least a NOP). ALU instruction can't access more than 4 constant, move constant to temporary reg if we reach the limit. Fix ALU block splitting, only split ALU after ALU with last instruction bit sets. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: split alu block to conform to limit + RCP opcodeJerome Glisse2010-08-022-2/+4
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add autogenerated reg definition + debug print cleanupJerome Glisse2010-08-026-173/+194
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add stencil op/func translationDave Airlie2010-08-022-3/+66
|
* r600g: initial alpha test stateDave Airlie2010-08-021-5/+13
|
* r600g: add initial blend state.Dave Airlie2010-08-025-20/+262
| | | | migrates cb_cntl to be regenerated
* r600g: set correct tex coord type for rect textures.Dave Airlie2010-08-021-4/+6
|
* r600g: make r600_db_format static.Dave Airlie2010-08-021-1/+1
| | | | this isn't used anywhere else yet.
* r600g: Remove unnecessary header.Vinson Lee2010-07-311-1/+0
|
* r600g: Remove unnecessary header.Vinson Lee2010-07-311-1/+0
|
* r600g: add KIL opcode supportJerome Glisse2010-07-301-1/+25
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix typo in tex instruction + shader semantic id fixJerome Glisse2010-07-301-8/+9
| | | | | | | It seems we never get semantic id from TGSI so fallback to use output number as id. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: mipmap early support + EX2/ABS instruction + cullingJerome Glisse2010-07-296-34/+108
| | | | | | | | | | Add mipmap support (demos/src/redbook/mipmap is working) Add EX2/ABS shader instruction support. Add face culling support. Misc fixes. Signed-off-by: Jerome Glisse <[email protected]>
* gallium: Keep only pipe_context::draw_vbo.Chia-I Wu2010-07-293-64/+0
| | | | | | | That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements.
* gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu2010-07-294-0/+49
| | | | | | | | | | | | | | | Some drivers define a generic function that is called by all drawing functions. To implement draw_vbo for such drivers, either draw_vbo calls the generic function or the prototype of the generic function is changed to match draw_vbo. Other drivers have no such generic function. draw_vbo is implemented by calling either draw_arrays and draw_elements. For most drivers, set_index_buffer does not mark the state dirty for tracking. Instead, the index buffer state is emitted whenever draw_vbo is called, just like the case with draw_elements. It surely can be improved.
* r600g: state context ptr in sampler_view & add I8/L8 buffer formatJerome Glisse2010-07-282-0/+3
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: switch btw flat/linear interpolationJerome Glisse2010-07-283-3/+7
| | | | | | | | | I am not sure how to properly handle flat shading regarding non color parameter to fragment shader. It seems we should still interpolate non color using linear interpolation and flat shade only apply to color. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: split pipe state creating/binding from hw state creationJerome Glisse2010-07-288-610/+1075
| | | | | | | | | Split hw vs pipe states creation handling as hw states group doesn't match pipe state group exactly. Right now be dumb about that and rebuild all hw states on each draw call. More optimization on that side coming. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: cleanup resource buffer/texture messJerome Glisse2010-07-2810-259/+217
| | | | | | Use a common function, fix the mess it was before. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add lrp instruction supportJerome Glisse2010-07-281-3/+80
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: actualy fix the literal emissionJerome Glisse2010-07-281-3/+3
| | | | | | | Previous patch added literal emission to wrong place, we want to emit literal before emitting a new alu group. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: fix up segfault with variation between views and count.Dave Airlie2010-07-281-4/+18
| | | | | For some reason gallium hands us something with lots of empty views, and we are expected to deal with it, just do what r300g does for this bit.
* r600g: use gallium util for float->ui conversionDave Airlie2010-07-282-19/+6
|
* r600g: texture supportJerome Glisse2010-07-277-9/+610
| | | | | | | | | | | | | Add texture mapping support, redbook/texbind works if you comment out glClear and second checkboard. Need to fix : - texture overwritting - lod & mip/map handling - unormalized coordinate handling - texture view with first leve > 0 - and many other things Signed-off-by: Jerome Glisse <[email protected]>
* r600g: Move declaration before code.Vinson Lee2010-07-271-2/+5
| | | | Fixes SCons build.
* r600g: always emit literal after emiting an alu instructionJerome Glisse2010-07-271-29/+32
| | | | | | Make sure we always fill in the literal after alu instruction. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: implememt the LIT instructionStephan Schmid2010-07-261-1/+119
|
* r600g: first pass at texture supportJerome Glisse2010-07-236-14/+152
| | | | | | | This add texture support to the assembler, generated code is wrong (tested against working dump). Signed-off-by: Jerome Glisse <[email protected]>
* r600g: Fix SCons build.Vinson Lee2010-07-231-5/+2
|
* r600g: fix dp2, dp3, dp4 tokensJerome Glisse2010-07-231-23/+64
| | | | | | We need to make sure dp are all mirror accross the alu unit. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add RSQ token supportJerome Glisse2010-07-231-2/+28
| | | | | | | Could serve as an example on how to add more token support. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: drop compiler stuff and switch over dumb tgsi assemblerJerome Glisse2010-07-2316-3323/+1277
| | | | | | | | | | Writing a compiler is time consuming and error prone in order to allow r600g to further progress in the meantime i wrote a simple tgsi assembler, it does stupid thing but i would rather keep the code simple than having people trying to optimize code it does. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add support for all R6XX/R7XX asicJerome Glisse2010-07-214-87/+316
| | | | | | | This configure some of the value properly based on asic so others asic than RV710 works too. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add r600 compile mode to compiler.Dave Airlie2010-07-214-13/+106
| | | | | | some of the ALU instructions are different on r6xx vs r7xx, separate the alu translation to separate files, and use family to pick which compile stage to use.