summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2010-07-29gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu
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.
2010-07-28r600g: state context ptr in sampler_view & add I8/L8 buffer formatJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-28r600g: switch btw flat/linear interpolationJerome Glisse
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 <jglisse@redhat.com>
2010-07-28r600g: split pipe state creating/binding from hw state creationJerome Glisse
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 <jglisse@redhat.com>
2010-07-28r600g: cleanup resource buffer/texture messJerome Glisse
Use a common function, fix the mess it was before. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-28r600g: add lrp instruction supportJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-28r600g: actualy fix the literal emissionJerome Glisse
Previous patch added literal emission to wrong place, we want to emit literal before emitting a new alu group. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-28r600g: fix up segfault with variation between views and count.Dave Airlie
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.
2010-07-28r600g: use gallium util for float->ui conversionDave Airlie
2010-07-27r600g: texture supportJerome Glisse
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 <jglisse@redhat.com>
2010-07-27llvmpipe: pass face+slice to llvmpipe_unswizzle_cbuf_tile()Brian Paul
Cube map faces and 3D texture slices are treated the same in llvmpipe textures. Need to pass the sum of these fields to llvmpipe_unswizzle_cbuf_tile() as we do elsewhere. Fixes piglit fbo-3d test (fd.o bug 29135).
2010-07-27r600g: Move declaration before code.Vinson Lee
Fixes SCons build.
2010-07-27r600g: always emit literal after emiting an alu instructionJerome Glisse
Make sure we always fill in the literal after alu instruction. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-27llvmpipe: Use lp_build_select_bitwise() where appropriate.José Fonseca
Fixes fdo 29269.
2010-07-26cell: comment-out unused fields, functionsBrian Paul
2010-07-26cell: make functions staticBrian Paul
2010-07-26cell: fix segfault when freeing samplersBrian Paul
2010-07-26cell: comment-out unneeded padding fieldBrian Paul
2010-07-26cell: added const qualifierBrian Paul
2010-07-26r600g: implememt the LIT instructionStephan Schmid
2010-07-26r300g: fix macro substitution problemDave Airlie
isn't a problem yet, but have issues in hiz branch. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-07-25r300g: implement D24X8 texture sampling for r3xx-r4xxMarek Olšák
Because the hw can't sample it, I reinterpret the format as G16R16 and sample the G component. This gives 16 bits of precision, which should be enough for depth texturing (surprisingly, the sampled values are exactly the same as in D16 textures). This also enables EXT_packed_depth_stencil on those old chipsets, finally.
2010-07-25r300g: make sure a texture is large enough for the CBZB clearMarek Olšák
The number of macrotiles in the Y direction must be even, otherwise memory corruption may happen (e.g. broken fonts). Basically, if we get a buffer in resource_from_handle, we can determine from the buffer size whether it's safe to use the CBZB clear or not.
2010-07-25r300g: do not use TXPITCH_EN if the width is POT and the height is NPOTMarek Olšák
2010-07-25r300g: do not use TXPITCH_EN for power-of-two textures from the DDXMarek Olšák
We were using TXPITCH_EN for textures from the DDX since ever, for nothing.
2010-07-25r300g: cleanup texture creation codeMarek Olšák
This decouples initializing a texture layout/miptree description from an actual texture creation, it also partially unifies texture_create and texture_from_handle. r300_texture inherits r300_texture_desc, which inherits u_resource. The CBZB clear criteria are moved to r300_texture_desc::cbzb_allowed[level]. And other minor cleanups.
2010-07-25r300g: reject resources from handles which are not large enoughMarek Olšák
The driver gets a buffer and its size in resource_from_handle. It computes the required minimum buffer size from given texture properties, and compares the two sizes. This is to early detect DDX bugs.
2010-07-25r300g: cleanup texture debug loggingMarek Olšák
2010-07-25r300g: do not align texture height to 2^n for 1D and 2D non-mipmapped texturesMarek Olšák
I don't remember why the alignment was there, but it seems to be no longer needed. I guess it was a dirty fix for some other bug.
2010-07-24nvfx: Move declaration before code.Vinson Lee
2010-07-23r600g: first pass at texture supportJerome Glisse
This add texture support to the assembler, generated code is wrong (tested against working dump). Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-23r600g: Fix SCons build.Vinson Lee
2010-07-23r600g: fix dp2, dp3, dp4 tokensJerome Glisse
We need to make sure dp are all mirror accross the alu unit. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-23r600g: add RSQ token supportJerome Glisse
Could serve as an example on how to add more token support. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-23r600g: drop compiler stuff and switch over dumb tgsi assemblerJerome Glisse
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 <jglisse@redhat.com>
2010-07-23softpipe: Check for NULL pointer in sp_destroy_tile_cache().Michal Krol
2010-07-23softpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().Michal Krol
2010-07-23nv50: implement depth clampChristoph Bumiller
2010-07-22llvmpipe: Partially fix resource texture from_handleJakob Bornecrantz
2010-07-22llvmpipe: Don't align values already alignedJakob Bornecrantz
2010-07-22i915g: Set total_nblocksy in from_handleJakob Bornecrantz
2010-07-22i915g: Add some debug prints in texture codeJakob Bornecrantz
2010-07-22i915g: Ifdef out debug code on non-debug buildsJakob Bornecrantz
2010-07-21softpipe: add missing support for PIPE_FORMAT_S8_USCALED surfacesBrian Paul
And remove checks of surface depth bits. The state tracker should not turn on depth/stencil testing if the framebuffer doesn't have depth/stencil.
2010-07-21softpipe: fix sp_tile_cache_flush_clear() regressionBrian Paul
2010-07-21r600g: add support for all R6XX/R7XX asicJerome Glisse
This configure some of the value properly based on asic so others asic than RV710 works too. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-21r600g: add r600 compile mode to compiler.Dave Airlie
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.
2010-07-21r600g: add family retrivalDave Airlie
allow pipe driver to get the family of the gpu.
2010-07-21llvmpipe: say no to depth clampMarek Olšák
The other drivers just return 0 without the assert.
2010-07-21r300g: implement depth clampMarek Olšák
Depth clamping seems to be implicit if clipping is disabled. It's not perfect, but it's good enough for wine and passes the corresponding piglit tests.