summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: define DEBUG_SILENT flag, use in output_if_debug()Brian Paul2012-05-113-12/+13
|
* mesa: clean-up the debug/verbose flag setup codeBrian Paul2012-05-111-26/+46
| | | | Split the verbose and debug flag setup code into separate functions.
* mesa: do FLUSH_VERTICES() in _mesa_flush/finish()Brian Paul2012-05-111-2/+4
| | | | | | | This was being done in the _mesa_Flush/Finish() calls but if there was an internal call to _mesa_flush/finish() the FLUSH_VERTICES() wouldn't happen. Looks like only the intel and radeon drivers made such calls in MakeCurrent().
* mesa: fix glMaterial / dlist bugBrian Paul2012-05-113-58/+152
| | | | | | | | | | | | | When glColorMaterial() is used to latch glColor commands to a material attribute, glMaterial calls to change that material should become no-ops. This failed to work properly when the glMaterial call was inside a display list. This removes the Material function from the vbo_attrib_tmp.h template file. We have separate/different implementations for the "save" and "exec" cases now. NOTE: This is a candidate for the 8.0 branch.
* mesa: fix/add error check in _mesa_ColorMaterial()Brian Paul2012-05-111-0/+2
| | | | | | | _mesa_material_bitmask() will record a GL error and return 0 if face or mode are illegal. Return early in that case. NOTE: This is a candidate for the 8.0 branch.
* radeon/llvm: More comments and cleanupsTom Stellard2012-05-1122-163/+190
|
* gallivm: Fix copy'n'paste typo bug translating CEIL opcode.José Fonseca2012-05-111-2/+2
| | | | Trivial.
* r600g: assume DISCARD_WHOLE_RESOURCE is always used with WRITEMarek Olšák2012-05-111-6/+5
|
* Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesaMarek Olšák2012-05-111-1/+3
|\
| * radeon/llvm: Fix Evergreen/Cayman tablegen predicatesTom Stellard2012-05-111-1/+3
| | | | | | | | Some Evergreen/Cayman instructions were being enabled for SI.
* | Merge branch 'gallium-userbuf'Marek Olšák2012-05-1191-817/+710
|\ \ | |/ |/| | | | | | | | | | | 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
| * svga: check for and skip null vertex buffer pointersBrian Paul2012-05-011-8/+12
| | | | | | | | | | | | Fixes regressions with google earth and other things. Reviewed-by: José Fonseca <[email protected]>
| * softpipe: cast away const to silence warningBrian Paul2012-05-011-1/+2
| |
| * svga: cast away const to silence warningBrian Paul2012-05-011-1/+2
| |
| * u_vbuf: set user buffer pointer for drivers which support user buffersMarek Olšák2012-05-011-0/+2
| | | | | | | | | | It's not common to end up in u_vbuf and at the same time support user buffers in a driver, but such a combination should work.
| * st/mesa: unmap upload buffer after uploading indices and constantsMarek Olšák2012-04-302-0/+2
| |
| * st/xorg: don't use user_buffer_createMarek Olšák2012-04-301-51/+16
| |
| * st/xa: don't use user_buffer_createMarek Olšák2012-04-301-44/+15
| |
| * st/vega: don't use user_buffer_createMarek Olšák2012-04-304-36/+34
| |
| * st/vega: use cso_draw_arraysMarek Olšák2012-04-301-3/+3
| |
| * cso: cso_context should install u_vbuf by itself and not st/mesaMarek Olšák2012-04-304-36/+23
| | | | | | | | so that it's installed in the other state trackers too
| * st/xorg: fix compilation - wrong libkms include fileMarek Olšák2012-04-302-2/+2
| |
| * gallium/util: stop using user buffers in util_draw_texquadMarek Olšák2012-04-301-2/+3
| |
| * gallium: remove pipe_resource::user_ptrMarek Olšák2012-04-3010-23/+0
| | | | | | | | It's unused now.
| * radeonsi: don't create temporary user buffer for r600_upload_const_bufferMarek Olšák2012-04-303-32/+25
| |
| * gallium: add void *user_buffer to pipe_constant_bufferMarek Olšák2012-04-3018-24/+111
| | | | | | | | This reduces CPU overhead when updating constants.
| * st/mesa: reorder code in draw_vboMarek Olšák2012-04-301-12/+12
| |
| * st/mesa: remove more unnecessary code in draw_vboMarek Olšák2012-04-301-16/+1
| | | | | | | | The variables set here are not used anywhere.
| * gallium: add void *user_buffer in pipe_index_bufferMarek Olšák2012-04-3023-118/+151
| | | | | | | | | | | | | | 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-3021-131/+0
| |
| * gallium: add void *user_buffer in pipe_vertex_bufferMarek Olšák2012-04-3017-182/+73
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * st/mesa: make user constant buffers optionalMarek Olšák2012-04-303-7/+25
| |
| * gallium: change set_constant_buffer to be UBO-friendlyMarek Olšák2012-04-3032-97/+139
| |
| * gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENTMarek Olšák2012-04-3012-1/+28
| | | | | | | | | | | | | | | | 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.
| * st/mesa: make user index buffers optionalMarek Olšák2012-04-303-1/+16
| | | | | | | | v2: use a separate upload buffer for indices
| * st/mesa: only set index buffer when drawing is indexedMarek Olšák2012-04-301-25/+21
| | | | | | | | and restructure the code a bit
| * gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERSMarek Olšák2012-04-3012-0/+28
| |
* | gallium/tgsi: s/TGSI_BUFFER/TGSI_TEXTURE_BUFFER/José Fonseca2012-05-113-5/+4
| | | | | | | | | | | | For consistency. Reviewed-by: Brian Paul <[email protected]>
* | gallium/tgsi: Redefine the TGSI_TEXTURE_UNKNOWN texture target.José Fonseca2012-05-115-4/+8
| | | | | | | | | | | | | | | | | | Some code relies on the existing of an invalid texture target. It seems safer to bring it back than to deal with unintended consequences. This partially reverts commit a4ebb04214bab1cd9bd41967232ec89441e31744. Reviewed-by: Brian Paul <[email protected]>
* | llvmpipe: Fix triangle bounding box calculation to be correctly inclusive or ↵James Benton2012-05-111-8/+6
| | | | | | | | | | | | | | | | exclusive Tested with custom rasterisation test tool added to piglit suite, reduced errors Signed-off-by: José Fonseca <[email protected]>
* | llvmpipe: Change triangle rasterization comparison from < 0 to <= 0James Benton2012-05-111-1/+8
| | | | | | | | | | | | Tested with custom rasterisation test tool added to piglit suite, reduced errors Signed-off-by: José Fonseca <[email protected]>
* | clover: Implement CL_MEM_COPY_HOST_PTR.Francisco Jerez2012-05-114-7/+20
| |
* | gallium/targets/pipe-loader: Prepend DESTDIR to the installation directory.Alexey Shvetsov2012-05-111-2/+2
| | | | | | | | Signed-off-by: Alexey Shvetsov <[email protected]>
* | clover: Assorted build fixes.Tom Stellard2012-05-111-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Contains the following patches squashed in: commit 9fff1dc0875f7c9591550fa3ebbe1ba7a18483fa Author: Tom Stellard <[email protected]> Date: Tue Mar 20 23:20:03 2012 +0100 configure.ac: Build gallium loader when OpenCL is enabled commit 542111cb02957418c6a285cb6ef2924e49adc66e Author: Tom Stellard <[email protected]> Date: Tue Mar 20 23:30:29 2012 +0100 configure.ac: Add sw/null to GALLIUM_WINSYS_DIRS for gallium loader commit 876f8de46062dde76b6075be3b6628f969b16648 Author: Tom Stellard <[email protected]> Date: Thu Feb 9 11:26:05 2012 -0500 configure.ac: Require gcc > 4.6.0 for clover commit 99049d50fa3d9a23297ae658189c19c89dca1766 Author: Tom Stellard <[email protected]> Date: Tue Mar 20 23:32:06 2012 +0100 configure.ac: Require Gallium drm loader when gallium loader is enabled No longer silently exclude this when building OpenCL drivers for nouveau and r600.
* | clover: Import OpenCL state tracker.Francisco Jerez2012-05-1151-3/+14729
| |
* | gallium/tests/trivial: Import compute unit tests.Francisco Jerez2012-05-112-1/+1594
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a test program that tries to exercise some of the language features commonly used by compute programs at the Gallium API level: - Correctness of the values returned by the grid parameters. - Proper functioning of resource LOADs and STOREs. - Subroutine calls. - Argument passing to the compute parameter through the INPUT memory space. - Mapping of buffer objects to the GLOBAL memory space. - Proper functioning of the PRIVATE and LOCAL memory spaces. - Texture sampling and constant buffers. - Support for multiple kernels in the same program. - Indirect resource indexing. - Formatted resource loads and stores (i.e. with channel conversion and scaling) using several different formats. - Proper functioning of work-group barriers. - Atomicity and semantics of the atomic opcodes. As of now all of them seem to pass on my nvA8.
* | gallium/gbm: Switch to auxiliary/pipe-loader.Francisco Jerez2012-05-1113-574/+52
| | | | | | | | Reviewed-by: Jakob Bornecrantz <[email protected]>
* | gallium/tests/trivial: Switch to the pipe loader.Francisco Jerez2012-05-114-36/+50
| | | | | | | | | | | | | | | | It simplifies things slightly, and besides, it makes possible to execute the trivial tests on a hardware device instead of being limited to software rendering. Reviewed-by: Jakob Bornecrantz <[email protected]>
* | gallium: Add "pipe-loader" target.Francisco Jerez2012-05-117-0/+315
| | | | | | | | | | | | | | | | | | This target generates pipe driver modules intended to be consumed by auxiliary/pipe-loader. Most of it was taken from the "gbm" target -- the duplicated code will be replaced with references to this target in a future commit. Reviewed-by: Jakob Bornecrantz <[email protected]>
* | gallium: Add pipe loader for device enumeration and driver multiplexing.Francisco Jerez2012-05-1110-0/+691
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal is to have a uniform interface to create winsys and pipe_screen instances for any driver, exposing the device enumeration capabilities that might be supported by the operating system (for now there's a "drm" back-end using udev and a "sw" back-end that always returns the same built-in devices). The typical use case of this library will be: > > struct pipe_loader_device devs[n]; > struct pipe_screen *screen; > > pipe_loader_probe(&devs, n); >[pick some device from the array...] > > screen = pipe_loader_create_screen(dev, library_search_path); >[do something with screen...] > > screen->destroy(screen); > pipe_loader_release(&devs, N); > A part of the code was taken from targets/gbm/pipe_loader.c, which will be removed and replaced with calls into this library by a future commit.