summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
Commit message (Collapse)AuthorAgeFilesLines
* Remove useless checks for NULL before freeingMatt Turner2012-09-052-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same as earlier commit, except for "FREE" This patch has been generated by the following Coccinelle semantic patch: // Remove useless checks for NULL before freeing // // free (NULL) is a no-op, so there is no need to avoid it @@ expression E; @@ + FREE (E); + E = NULL; - if (unlikely (E != NULL)) { - FREE(E); ( - E = NULL; | - E = 0; ) ... - } @@ expression E; type T; @@ + FREE ((T) E); + E = NULL; - if (unlikely (E != NULL)) { - FREE((T) E); ( - E = NULL; | - E = 0; ) ... - } @@ expression E; @@ + FREE (E); - if (unlikely (E != NULL)) { - FREE (E); - } @@ expression E; type T; @@ + FREE ((T) E); - if (unlikely (E != NULL)) { - FREE ((T) E); - } Reviewed-by: Brian Paul <[email protected]>
* Don't cast the return value of malloc/reallocMatt Turner2012-09-052-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch has been generated by the following Coccinelle semantic patch: // Don't cast the return value of malloc/realloc. // // Casting the return value of malloc/realloc only stands to hide // errors. @@ type T; expression E1, E2; @@ - (T) ( _mesa_align_calloc(E1, E2) | _mesa_align_malloc(E1, E2) | calloc(E1, E2) | malloc(E1) | realloc(E1, E2) )
* r300g: implement TRUNC correctlyMarek Olšák2012-08-274-1/+42
| | | | This fixes some integer division tests.
* r300/compiler: Use variable lists in the rename_regs passTom Stellard2012-08-261-17/+14
|
* gallium/u_blitter: document custom meta helpersMarek Olšák2012-08-151-1/+1
|
* gallium/u_blitter: implement blitting multisample resourcesMarek Olšák2012-08-151-2/+2
| | | | It can blit only one sample at a time (it should be called in a loop).
* mesa: Kill GL_ARB_shadow_ambient with fireIan Romanick2012-08-142-12/+2
| | | | | | | | | | No driver supports this extension, and it seems unlikely than any driver ever will. I think r300c may have supported it at one time, but that driver has already been removed. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium/u_blitter: add ability to blit only depth or only stencilMarek Olšák2012-08-041-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* Revert "gallium: specify resource_resolve destination via a pipe_surface"Christoph Bumiller2012-08-011-1/+6
| | | | | | | | | | | This reverts commit 5d5af7d359e0060fa00b90a8f04900b96f9058b0. It turns out the issue this was supposed to fix merely counter-acted a bug in the hardware driver that I wasn't aware of. The resource_resolve is not supposed to do sRGB conversion, period. (This would violate the requirement that source and destination must be of the same format).
* gallium: specify resource_resolve destination via a pipe_surfaceChristoph Bumiller2012-07-281-6/+1
| | | | | | | | | | | The format member of pipe_surface may differ from that of the pipe_resource, which is used to communicate, for instance, whether sRGB encode should be enabled in the resolve operation or not. Fixes resolve to sRGB surfaces in mesa/st when GL_FRAMEBUFFER_SRGB is disabled. Reviewed-by: Brian Paul <[email protected]>
* automake: Remove OPT_FLAGS.Eric Anholt2012-07-261-1/+0
| | | | | | | | | | If you want to change your compiler arguments, just set CFLAGS/CXXFLAGS. Having Mesa have this separate variable is a great way to have your arguments not thoroughly propagated to all compiler invocations. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* automake: Remove ARCH_FLAGS.Eric Anholt2012-07-261-1/+0
| | | | | | | | | | In all current uses, it was appended to CFLAGS, which already had -m32. If you want to do some other flag supplied to compiler invocations, there's CFLAGS/CXXFLAGS. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* r300g: silence uninitialized var warningBrian Paul2012-07-161-1/+1
|
* gallium: add QUERY_TIMESTAMP cap and get_timestamp screen functionMarek Olšák2012-07-101-0/+1
|
* make: Fold ASM_CFLAGS into DEFINES.Eric Anholt2012-06-211-1/+0
| | | | | | Every place that uses ASM_FLAGS already uses DEFINES. Not including it in DEFINES is just a way to screw up potential users, as I've done several times while working on the build system.
* gallium: Add PIPE_CAP_START_INSTANCEFredrik Höglund2012-06-191-0/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* 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.