summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* i915g: track TODO itemsDaniel Vetter2010-12-021-0/+29
| | | | | | | | Just as a reminder for all things currently broken with i915g. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: assert(depth_surface->offset == 0)Daniel Vetter2010-12-021-1/+2
| | | | | | | | Shouldn't happen and not supported, anyway. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: enable x-tiling for render targetsDaniel Vetter2010-12-021-4/+0
| | | | | | Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: switch rendering to mipmapped textures to (x,y) offsetsDaniel Vetter2010-12-023-9/+29
| | | | | | | | | | | | | Byte offsets simply don't work with tiled render targets when using tiling bits. Luckily we can cox the hw into doing the right thing with the DRAWING_RECT command by disabling the drawing rect offset for the depth buffer. Minor fixes by Jakob Bornecrantz. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: enable X-tiling for texturesDaniel Vetter2010-12-023-0/+27
| | | | | | | | | Tiling is rather fragile in general and results in pure blackness when unlucky. Hence add a new option to disable tiling. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: don't pot-align stride for tiled buffersDaniel Vetter2010-12-021-2/+3
| | | | | | | | | libdrm will do this for us, if it's required (i.e. if tiling is possible). Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: postpone mipmap/face offset calculationDaniel Vetter2010-12-023-27/+43
| | | | | | | | | | | | | | | | | | | | libdrm-intel can refuse to tile buffers for various reasons. For potentially tiled buffers the stride is therefore only known after the iws->buffer_create_tiled call. Unconditionally rounding up to whatever tiling requires wastes space, so rework the code to not use tex->stride in the layout code. Luckily only the mimap/face offset calculation uses it which can easily be solved by storing an (x, y) coordinate pair. Furthermore this will be usefull later for properly supporting rendering into the different levels of tiled mipmap textures. v2: switch to nblocks(x|y): More in line with gallium and better suited for rendering into mipmap textures. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: implement unfenced relocs for textures using tiling bitsDaniel Vetter2010-12-023-5/+20
| | | | | | Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: implement unfenced color&depth buffer using tiling bitsDaniel Vetter2010-12-022-8/+22
| | | | | | | | v2: Clarify tiling bit calculation as suggested by Chris Wilson. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: return tiling in iws->buffer_from_handleDaniel Vetter2010-12-022-1/+5
| | | | | | | | | | This is needed to properly implement tiling flags. And the gem implemention fo buffer_from_handle already calls get_tiling, so it's for free. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: prepare winsys/batchbuffer for execbuf2Daniel Vetter2010-12-025-10/+13
| | | | | | | | Wire up a fenced parameter, switch all relocations to _FENCED Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: switch to tiled allocations, kill set_fenceDaniel Vetter2010-12-022-23/+2
| | | | | | | | | This way relaxed fencing is handled by libdrm. And buffers _can't_ ever change their tiling. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: add winsys function to create tiled buffersDaniel Vetter2010-12-021-0/+14
| | | | | | | | | | | | | | Different kernels have different restrictions for tiled buffers. Hence use the libdrm abstraction to calculate the necessary stride and height alignment requirements. Not yet used. v2: Incorporate review comments from Jakob Bornecrantz Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* i915g: drop alignment parameter from iws->buffer_createDaniel Vetter2010-12-023-4/+4
| | | | | | | | | | | | It's unnecessary. The kernel gem ignores it totally and we can't run on the old userspace fake bo manager due to lack of dri2. Also drop the redundant name string from the sw winsys as suggested by Jakob Bornecrantz Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-onlyMarek Olšák2010-12-011-1/+2
| | | | | | r3xx cannot swizzle compressed textures. r4xx+ is unaffected. NOTE: This is a candidate for the 7.9 branch.
* r300g: fix texture swizzling with compressed textures on r400-r500Marek Olšák2010-12-017-13/+28
| | | | | | This fixes all S3TC piglit/texwrap tests. NOTE: This is a candidate for the 7.9 branch.
* r300/compiler: implement and lower OPCODE_CLAMPMarek Olšák2010-12-011-1/+1
| | | | Needed for st/vega.
* svga: Silence debug printf.José Fonseca2010-12-011-1/+0
|
* llvmpipe: Fix build errors on x86.Chia-I Wu2010-12-012-4/+5
| | | | | The errors were introduced by efc82aef35a2aac5d2ed9774f6d28f2626796416.
* gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul2010-11-3032-655/+692
| | | | | | | | | | | | | | This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
* r300g: fix texture border color once againMarek Olšák2010-11-301-2/+37
| | | | | | | | | I made the texwrap test be more thorough and realized that this driver code had not been quite right. This commit fixes the border color for depth textures, compressed textures, and 16-bits-per-channel textures with up to 2 channels (R16, RG16). NOTE: This is a candidate for the 7.9 branch.
* scons: add alias for identityZack Rusin2010-11-301-0/+2
|
* llvmpipe: shortcircuit some calls to set_scene_stateKeith Whitwell2010-11-301-1/+1
|
* llvmpipe: remove misleading debug stringKeith Whitwell2010-11-301-1/+0
|
* llvmpipe: raise dirty flag on transfers to bound constbufKeith Whitwell2010-11-301-0/+5
| | | | | Need this to trigger the scene to update its shadow of the constant state.
* scons: Alias for svgaJosé Fonseca2010-11-301-0/+2
|
* svga: Use consistent hexadecimal representation on debug output.José Fonseca2010-11-301-1/+1
|
* util: rename u_mempool -> u_slabMarek Olšák2010-11-305-21/+21
|
* r600g: it looks like r600 can handle dword offsets in the indices.Dave Airlie2010-11-291-7/+0
| | | | | Tested with piglit + ut2004 still seems to render okay (and it definitely does this)
* r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.Henri Verbeet2010-11-271-0/+1
|
* r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.Henri Verbeet2010-11-272-0/+2
|
* nvfx: reset nvfx->hw_zetaXavier Chantry2010-11-251-1/+3
| | | | | | | | | | | | If nvfx_framebuffer prepare and validate were called successively with fb->zsbuf not NULL and then NULL, nvfx->hw_zeta would contain garbage and this would cause failures in nvfx_framebuffer_relocate/OUT_RELOC(hw_zeta). This was triggered by piglit/texwrap 2D GL_DEPTH_COMPONENT24 and caused first a 'write to user buffer!!' error in libdrm and then worse things. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* nvfx: fb->nr_cbufs <= 1 on nv30Xavier Chantry2010-11-251-1/+1
| | | | | | | | 7e1bf946316ff99feaa3f2e85f70b45bd9a77ade changed PIPE_CAP_MAX_RENDER_TARGETS to 1 on nv30. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* r600g: Removed duplicated call to tgsi_split_literal_constant().Tilman Sauerbeck2010-11-231-4/+0
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* r600g: Only compare active vertex elementsMathias Fröhlich2010-11-231-1/+2
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* llvmpipe: Remove unnecessary headers.Vinson Lee2010-11-221-2/+0
|
* r600g: add support for ontario APUsAlex Deucher2010-11-224-0/+26
| | | | Signed-off-by: Alex Deucher <[email protected]>
* r300g: Avoid returning values in a static array, fixing a potential raceMathias Fröhlich2010-11-221-11/+21
| | | | | | | | (Marek: added the initializion of "vec" in the default statement) NOTE: This is a candidate for the 7.9 branch. Signed-off-by: Marek Olšák <[email protected]>
* r600g: fix additional EVENT_WRITE packetAlex Deucher2010-11-221-0/+9
| | | | Add explicit EVENT_TYPE field
* gallium: add PIPE_SHADER_CAP_SUBROUTINESMarek Olšák2010-11-227-0/+20
| | | | | | | | | | | This fixes piglit/glsl-vs-main-return and glsl-fs-main-return for the drivers which don't support RET (i915g, r300g, r600g, svga). ir_to_mesa does not currently generate subroutines, but it's a matter of time till it's added. It would then break all the drivers which don't implement them, so this CAP makes sense. Signed-off-by: Marek Olšák <[email protected]>
* Merge branch 'lp-offset-twoside'Keith Whitwell2010-11-226-69/+306
|\
| * llvmpipe: twoside for specular color alsoKeith Whitwell2010-11-194-20/+42
| |
| * llvmpipe: fix up twoside after recent changesKeith Whitwell2010-11-191-8/+7
| | | | | | | | Fix my slot/attr confusion.
| * llvmpipe: fix such that offset/twoside function only does in-place modificationHui Qi Tay2010-11-191-155/+159
| |
| * llvmpipe: clean up polygon offset function in lp setup codeHui Qi Tay2010-11-151-44/+16
| |
| * llvmpipe: added llvm offset setup codeHui Qi Tay2010-11-044-46/+143
| |
| * llvmpipe: Moved draw pipeline twoside function to llvm setup codeHui Qi Tay2010-11-014-5/+103
| |
| * llvmpipe: turn off draw offset/twoside when we can handle itKeith Whitwell2010-10-221-27/+72
| |
* | r600g: pick correct color swap for A8 fbos.Dave Airlie2010-11-221-0/+1
| | | | | | | | | | | | This fixes fdo bug 31810. Signed-off-by: Dave Airlie <[email protected]>
* | i915g: kill RGBA/X formatsDaniel Vetter2010-11-211-4/+0
| | | | | | | | | | | | | | | | It's intel, so always little endian! Reviewed-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>