summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: also test the new lp_build_assert() functionBrian Paul2010-07-291-0/+4
|
* llvmpipe: don't call LLVMCreateJITCompiler() twiceBrian Paul2010-07-295-45/+14
| | | | | | | | | Fixes a failed assertion with LLVM 2.6: <unnamed>::JITResolver::JITResolver(llvm::JIT&): Assertion `TheJITResolver == 0&& "Multiple JIT resolvers?"' failed. Though, not everyone seems to experience this problem.
* scons: Use the current python executable for code generation.José Fonseca2010-07-291-1/+2
| | | | Less susceptible to be broken.
* llvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.José Fonseca2010-07-291-0/+5
| | | | | | | Unfortunately LLVM doesn't emit EMMS itself, and there is no easy/effective way to disable MMX. http://llvm.org/bugs/show_bug.cgi?id=3287
* gallium: Avoid void pointer arithmetic.Chia-I Wu2010-07-294-7/+7
| | | | This fixes fdo bug #29286.
* gallium: Keep only pipe_context::draw_vbo.Chia-I Wu2010-07-2924-1147/+6
| | | | | | | 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-2947-202/+974
| | | | | | | | | | | | | | | 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]>
* llvmpipe: pass face+slice to llvmpipe_unswizzle_cbuf_tile()Brian Paul2010-07-271-2/+3
| | | | | | | | 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).
* 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]>
* llvmpipe: Use lp_build_select_bitwise() where appropriate.José Fonseca2010-07-271-11/+11
| | | | Fixes fdo 29269.
* cell: comment-out unused fields, functionsBrian Paul2010-07-261-2/+4
|
* cell: make functions staticBrian Paul2010-07-261-3/+3
|
* cell: fix segfault when freeing samplersBrian Paul2010-07-261-1/+1
|
* cell: comment-out unneeded padding fieldBrian Paul2010-07-261-1/+1
|
* cell: added const qualifierBrian Paul2010-07-261-1/+1
|
* r600g: implememt the LIT instructionStephan Schmid2010-07-261-1/+119
|
* r300g: fix macro substitution problemDave Airlie2010-07-261-2/+2
| | | | | | isn't a problem yet, but have issues in hiz branch. Signed-off-by: Dave Airlie <[email protected]>
* r300g: implement D24X8 texture sampling for r3xx-r4xxMarek Olšák2010-07-255-22/+34
| | | | | | | | | 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.
* r300g: make sure a texture is large enough for the CBZB clearMarek Olšák2010-07-251-52/+49
| | | | | | | 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.
* r300g: do not use TXPITCH_EN if the width is POT and the height is NPOTMarek Olšák2010-07-256-11/+15
|
* r300g: do not use TXPITCH_EN for power-of-two textures from the DDXMarek Olšák2010-07-251-6/+14
| | | | We were using TXPITCH_EN for textures from the DDX since ever, for nothing.
* r300g: cleanup texture creation codeMarek Olšák2010-07-2513-543/+733
| | | | | | | | | | | | 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.
* r300g: reject resources from handles which are not large enoughMarek Olšák2010-07-253-7/+25
| | | | | | | | 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.
* r300g: cleanup texture debug loggingMarek Olšák2010-07-253-18/+25
|
* r300g: do not align texture height to 2^n for 1D and 2D non-mipmapped texturesMarek Olšák2010-07-251-1/+5
| | | | | 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.
* nvfx: Move declaration before code.Vinson Lee2010-07-241-2/+3
|
* 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]>
* softpipe: Check for NULL pointer in sp_destroy_tile_cache().Michal Krol2010-07-231-8/+10
|
* softpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().Michal Krol2010-07-231-11/+13
|
* nv50: implement depth clampChristoph Bumiller2010-07-234-10/+33
|
* llvmpipe: Partially fix resource texture from_handleJakob Bornecrantz2010-07-221-1/+35
|
* llvmpipe: Don't align values already alignedJakob Bornecrantz2010-07-221-2/+2
|
* i915g: Set total_nblocksy in from_handleJakob Bornecrantz2010-07-221-0/+1
|
* i915g: Add some debug prints in texture codeJakob Bornecrantz2010-07-221-6/+10
|
* i915g: Ifdef out debug code on non-debug buildsJakob Bornecrantz2010-07-221-0/+5
|
* softpipe: add missing support for PIPE_FORMAT_S8_USCALED surfacesBrian Paul2010-07-211-20/+20
| | | | | | 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.