summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
Commit message (Collapse)AuthorAgeFilesLines
* draw: simplify index buffer specificationBrian Paul2012-05-311-6/+6
| | | | | Replace draw_set_index_buffer() and draw_set_mapped_index_buffer() with draw_set_indexes() which simply takes a pointer and an index size.
* gallium/radeon: Fix r300g tiling breakage.Michel Dänzer2012-05-162-0/+2
| | | | | | Commit 11f056a3f0b87e86267efa8b5ac9d36a343c9dc1 broke the r300g build. Fix it up, and reinstate some code which isn't needed by r600g and radeonsi but is by r300g.
* r300g: Handle compute caps.Francisco Jerez2012-05-121-0/+5
|
* r300g/swtcl: move vertex buffer updates into set_vertex_buffersMarek Olšák2012-05-122-29/+34
|
* r300g/swtcl: move index buffer updates from swtcl_draw_vbo into set_index_bufferMarek Olšák2012-05-122-15/+24
|
* r300g/swtcl: malloc vertex and index buffers (don't use radeon DRM to get them)Marek Olšák2012-05-124-43/+23
| | | | | | Vertex and index buffers are never used by hardware, only by Draw. SWTCL chipsets usually have very little memory, so this might help with stability and reliability.
* r300g/swtcl: don't do stuff which is only for HWTCLMarek Olšák2012-05-122-13/+19
|
* r300g: remove slab allocator for pipe_resource (used mainly for user buffers)Marek Olšák2012-05-124-45/+3
|
* r300g: remove user_buffer_createMarek Olšák2012-05-123-32/+0
|
* r300g: fix breakage after gallium-userbuf mergeMarek Olšák2012-05-122-18/+32
|
* Merge branch 'gallium-userbuf'Marek Olšák2012-05-117-48/+56
|\ | | | | | | | | | | | | | | Conflicts: src/gallium/docs/source/screen.rst src/gallium/drivers/nv50/nv50_state.c src/gallium/include/pipe/p_defines.h src/mesa/state_tracker/st_draw.c
| * gallium: remove pipe_resource::user_ptrMarek Olšák2012-04-301-4/+0
| | | | | | | | It's unused now.
| * gallium: add void *user_buffer to pipe_constant_bufferMarek Olšák2012-04-301-2/+2
| | | | | | | | This reduces CPU overhead when updating constants.
| * gallium: add void *user_buffer in pipe_index_bufferMarek Olšák2012-04-305-38/+41
| | | | | | | | | | | | | | Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe. User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
| * gallium: remove pipe_context::redefine_user_bufferMarek Olšák2012-04-301-1/+0
| |
| * gallium: add void *user_buffer in pipe_vertex_bufferMarek Olšák2012-04-301-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code in that function which was required only to comply with the gallium interface, but wasn't any useful really. Adapted drivers: i915, llvmpipe, r300, softpipe. No changes required in: r600, radeonsi. User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
| * gallium: change set_constant_buffer to be UBO-friendlyMarek Olšák2012-04-301-1/+2
| |
| * gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENTMarek Olšák2012-04-301-0/+3
| | | | | | | | | | | | | | | | This is required for any serious constant buffer support. Constant buffer offsets on ATI and NVIDIA DX10 and DX11 GPUs must be a multiple of 256. In OpenGL, this can be queried via GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
| * gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERSMarek Olšák2012-04-301-0/+2
| |
* | gallium/tgsi: Move interpolation info from tgsi_declaration to a separate token.Francisco Jerez2012-05-111-1/+2
|/ | | | | | Move Interpolate, Centroid and CylindricalWrap from tgsi_declaration to a separate token -- they only make sense for FS inputs and we need room for other flags in the top-level declaration token.
* r300g: make r300_buffer_transfer_unmap a no-opMarek Olšák2012-04-291-7/+1
| | | | It's a no-op already in the winsys.
* r300g: use u_default_transfer_inline_writeMarek Olšák2012-04-293-31/+3
|
* winsys/radeon: simplify buffer map/unmap functionsMarek Olšák2012-04-294-15/+15
| | | | | The idea is not to use pb_map and pb_unmap wrappers, calling straight into the winsys.
* autoconf: pass -Wall to automakeDylan Noblesmith2012-04-291-1/+1
| | | | | | | And fix these warning that appear at autoreconf time: "`:='-style assignments are not portable" v2: Fix the recently-converted-to-automake r600.
* gallium: make user vertex buffers optionalMarek Olšák2012-04-244-34/+5
| | | | | | | | | | | This couldn't be split because it would break bisecting. Summary: * r300g,r600g: stop using u_vbuf * r300g,r600g: also report that the FIXED vertex type is unsupported * u_vbuf: refactor for use in the state tracker * cso: wire up u_vbuf with cso_context * st/mesa: conditionally install u_vbuf
* r300g: don't share u_upload_mgr with u_vbuf, create its ownMarek Olšák2012-04-244-4/+10
|
* u_vbuf: pull u_vbuf_draw_max_vertex_count into r300gMarek Olšák2012-04-241-1/+50
|
* u_vbuf: make use of the new CAPs to determine what to doMarek Olšák2012-04-242-4/+11
| | | | | | | This adds the ability to initialize u_vbuf_caps before creating u_vbuf itself. It will be useful for determining if u_vbuf should be used or not. Also adapt r300g and r600g.
* u_vbuf: remove u_vbuf_resourceMarek Olšák2012-04-2410-107/+105
|
* gallium: add user_ptr in pipe_resourceMarek Olšák2012-04-241-0/+2
| | | | I need to access the pointer in st/mesa when I only have pipe_resource.
* u_vbuf: override draw_vboMarek Olšák2012-04-241-5/+1
|
* u_vbuf: override create/bind/destroy_vertex_elements_stateMarek Olšák2012-04-243-18/+4
|
* u_vbuf: override set_vertex_buffersMarek Olšák2012-04-246-31/+26
|
* u_vbuf: override set_index_bufferMarek Olšák2012-04-243-20/+19
| | | | This makes u_vbuf_mgr call the driver instead of the other way around.
* r300g/automake: add $ARCH_FLAGS and $OPT_FLAGSMarek Olšák2012-04-231-0/+2
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r300/compiler: Exit immediately from rc_vert_fc() if there is an errorTom Stellard2012-04-141-0/+4
| | | | | | | | This way we correctly report "Too many temporaries" errors. https://bugs.freedesktop.org/show_bug.cgi?id=48680 Note: This is a candidate for the stable branches.
* r300/compiler: Copy all instruction attributes during local transfomsTom Stellard2012-04-141-31/+42
| | | | | | | | | | | | | | | | | | | | | Instruction attributes like WriteALUResult and ALUResultCompare were being discarded during the some of the local transformations. This fixes the following piglit tests: glsl1-inequality (vec2, pass) loopfunc fs-any-bvec2-using-if fs-op-ne-bvec2-bvec2-using-if fs-op-ne-ivec2-ivec2-using-if fs-op-ne-mat2-mat2-using-if fs-op-ne-vec2-vec2-using-if fs-op-ne-mat2x3-mat2x3-using-if fs-op-ne-mat2x4-mat2x4-using-if https://bugs.freedesktop.org/show_bug.cgi?id=45921 NOTE: This is a candidate for the stable branches.
* r300/compiler: Fix nested flow control in r500 vertex shadersTom Stellard2012-04-1311-178/+438
|
* r300/compiler: Clear loop registers in vertex shaders w/o loopsTom Stellard2012-04-132-16/+13
| | | | | | | | | | | | | | The loop registers weren't being cleared, so any shader that was executed after a shader containing loops was at risk of having a loop randomly inserted into it. This fixes over one hundred piglit tests, although these test only failed during full piglit runs and would pass if run individually. The exact number of piglit tests that this patch fixes will vary depending on the version of piglit and the order the tests are run. NOTE: This is a candidate for the stable branches.
* r300g: align vertex buffer suballocations to 4Marek Olšák2012-04-131-1/+1
|
* gallium: rename DUAL_SOURCE_BLEND cap to MAX_DUAL_SOURCE_RENDER_TARGETSDave Airlie2012-04-131-1/+1
| | | | | | Though I don't think we'll ever expose > 1. Signed-off-by: Dave Airlie <[email protected]>
* r300g/swtcl: fix crash when back color is present in vertex shaderMarek Olšák2012-04-041-39/+56
| | | | The shader transformation code sometimes produced invalid TGSI.
* r300g/swtcl: initialize some Draw optionsMarek Olšák2012-04-041-0/+3
|
* r300g/swtcl: fix polygon offsetMarek Olšák2012-04-041-0/+4
|
* r300g/swtcl: don't expose shader subroutine supportMarek Olšák2012-04-041-0/+1
| | | | RET in the main function doesn't work. This should be fixed in Draw, but meh.
* r300g: initialize state & render functions before creating u_vbuf & u_blitterMarek Olšák2012-04-043-11/+15
|
* r300g/swtcl: don't enter u_vbuf_mgrMarek Olšák2012-04-045-34/+48
|
* r300g/swtcl: don't print an error when getting ClipVertexMarek Olšák2012-04-044-9/+21
| | | | Draw can do it just fine.
* r300g: cleanup after get_query_result changeMarek Olšák2012-03-301-10/+13
|
* gallium: adapt to get_query_result interface changeMarek Olšák2012-03-301-2/+2
| | | | Reviewed-by: Brian Paul <[email protected]>