summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* vl: cleanup dri winsys abstractionChristian König2012-02-257-1575/+56
| | | | | | There was way to much dead code in it. Signed-off-by: Christian König <[email protected]>
* i915g: Fix fallout from 8e4540ec2a82e72be491bc8fe23c10551d29a96cStéphane Marchesin2012-02-241-4/+10
| | | | Fixes piglit regressions from that change.
* svga: Fix stencil op mappingZack Rusin2012-02-241-4/+4
| | | | | | | | | We were inverting the meaning of the stencil op flags: in svga/d3d the normal incr/decr wraps and the SAT ops clamp. This fixes piglit failures (at least stencil-twoside and stencil-wrap). We should backport this everywhere we can. Reviewed-by: Brian Paul <[email protected]>
* svga: fix use of SVGA3D_x vs. PIPE_FORMAT_x in svga_is_format_supported()Brian Paul2012-02-241-2/+2
| | | | | | | | | Two of the switch cases used PIPE_FORMAT_ tokens instead of SVGA3D_ tokens. As it happens, the token values are equal for these formats so there's no net change. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/glx: remove STENCIL_BITS, DEFAULT_SOFTWARE_DEPTH_BITSBrian Paul2012-02-241-3/+3
| | | | Remove some Mesa/swrast stuff.
* st/glx: remove MAX_WIDTH/HEIGHT usageBrian Paul2012-02-241-3/+6
|
* u_blitter: decrease minimum buffer range alignment to 4 for copy_bufferMarek Olšák2012-02-241-5/+5
|
* u_blitter: check for invalid values in copy_bufferMarek Olšák2012-02-241-0/+11
|
* r600g: rework queriesMarek Olšák2012-02-233-116/+167
| | | | | | | | | | | | | | | | We always mapped the query buffer in begin_query, causing stalls if the buffer was busy. This commit reworks it such that the query buffer is only mapped in get_query_result as it's supposed to be. The query buffer is no longer treated as a ring buffer. Instead, the results are just appended and when the buffer is full, we create a new one. One query can have more than one query buffer, though that's a very rare case. Begin_query releases all query buffers. Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: cleanup magic numbers in set_xx_samplerMarek Olšák2012-02-232-6/+6
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated evergreen_context_ps_partial_flushMarek Olšák2012-02-233-15/+3
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated evergreen_context_pipe_state_set_samplerMarek Olšák2012-02-233-31/+5
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated set_xx_resource functionsMarek Olšák2012-02-234-48/+13
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove duplicated function r600_state_sampler_initMarek Olšák2012-02-233-18/+3
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: fixup name of evergreen-specific functionMarek Olšák2012-02-231-5/+5
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: simplify fail paths in create_contextMarek Olšák2012-02-231-22/+15
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* gallium/u_slab: fix possible crash in util_slab_destroyMarek Olšák2012-02-231-3/+5
| | | | | | | It may happen if util_slab_create has not been called. Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: fix possible crashes in destroy_context when failing in create_contextMarek Olšák2012-02-232-25/+38
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: consolidate common context init codeMarek Olšák2012-02-233-34/+16
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: define GROUP_FORCE_NEW_BLOCK in common headerMarek Olšák2012-02-233-4/+2
| | | | | Reviewed-by: Jerome Glisse <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* st/dri: Fix crash in st/dri from dri format commitJakob Bornecrantz2012-02-231-2/+1
| | | | | | | Introduced with 8de5c355fa2bf0f30df2c7cf39aee01e793284bf, it would probably just crash. Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Jesse Barnes <[email protected]>
* util: add mutex lock in u_debug_memory.c codeBrian Paul2012-02-231-0/+9
| | | | | | | The linked list of memory allocations was not protected by a mutex. This lead to sporadic failures with multi-threaded apps. Reviewed-by: Jose Fonseca <[email protected]>
* svga: no-op sampler view referencing if no changeBrian Paul2012-02-231-6/+8
| | | | Just to be safe with ref counting and avoid atomic operations.
* svga: use pipe_sampler_view_release() to avoid segfaultBrian Paul2012-02-231-2/+6
| | | | | | | This fixes another case of faulting when freeing a pipe_sampler_view that belongs to a previously destroyed context. Reviewed-by: Jose Fonseca <[email protected]>
* st/wgl: check for hPbuffer=0 in wgl pbuffer functionsBrian Paul2012-02-231-0/+20
| | | | | | | Per the GL_WGL_pbuffer spec, generate ERROR_INVALID_HANDLE and return FALSE (and don't segfault). Reviewed-by: Jose Fonseca <[email protected]>
* st/wgl: Fix argument of stw_pixelformat_get_info().José Fonseca2012-02-231-1/+1
| | | | | stw_pixelformat_get_info takes zero based index, not a 1 based pixel format number.
* gallium: added pipe_sampler_view_release() functionBrian Paul2012-02-231-0/+22
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* svga: re-enable deleted surface cachingBrian Paul2012-02-231-2/+1
| | | | | | | | Basically, instead of immediately freeing deleted surfaces, hang onto them in a cache to do quick re-allocation. This helps when surfaces are frequently destroyed and then reallocated a bit later. Reviewed-by: José Fonseca <[email protected]>
* svga: implement surface cache size limitBrian Paul2012-02-232-3/+137
| | | | | | | | | | | | | There was a SVGA_HOST_SURFACE_CACHE_BYTES symbol, but it was never used. Now when we go to add a newly deleted surface to the cache we check if the cache size would be exceeded. If so, try to free the least recently "unused" surfaces until the cache is smaller. If we can't do that, simply don't cache the newly deleted surface. The alternative involves flushing and waiting and we don't want to do that. Reviewed-by: José Fonseca <[email protected]>
* svga: add svga_format_size() functionBrian Paul2012-02-232-0/+163
| | | | Reviewed-by: José Fonseca <[email protected]>
* svga: use dummy shaders when translation failsBrian Paul2012-02-232-4/+95
| | | | | | | | | Before, if shader translation failed for any reason we'd keep trying to translate the shader over and over again during state validation. The dummy fragment shader emits solid red so that might be visual clue that translation is failing. Reviewed-by: Jose Fonseca <[email protected]>
* svga: move temp register index assertionsBrian Paul2012-02-232-6/+17
| | | | | | | | | | | | | | The assertion recently added in dst_register() was invalid because that function is also (suprisingly) used to declare constant registers. Move the assertion to the callers where we're really creating temp registers and add some code to prevent emitting invalid temp register indexes for release builds. Also, update the comment for get_temp(). It didn't return -1 if it ran out of registers and none of the callers checked for that. Reviewed-by: Jose Fonseca <[email protected]>
* svga: check that we don't exceed temp register limitBrian Paul2012-02-232-0/+6
| | | | | | | And assert on the register index in dst_register(). The dest can only be an output or temp reg and there's more of the later. Reviewed-by: Jose Fonseca <[email protected]>
* Add a test for the compare opcode.Alex Corscadden2012-02-231-0/+12
| | | | | This is a test for the compare opcode (CMP). This should draw a green triangle in the fs-test.
* r600g: Fix build when libdrm is installed to non-standard dir.Satyajit Sarangi2012-02-221-0/+3
| | | | | Signed-off-by: Satyajit Sarangi<[email protected]> Signed-off-by: Tom Stellard <[email protected]>
* gbm: track buffer format through DRI driversJesse Barnes2012-02-222-0/+7
| | | | | | | | | | | | GBM needs the buffer format in order to communicate with DRM and clients for things like scanout. So track the DRI format requested in the various back ends and use it to return the DRI format back to GBM when requested. GBM will then map this into the GBM surface type (which is in turn based on the DRM fb format list). Signed-off-by: Jesse Barnes <[email protected]>
* tests/graw: Add a bunch of tests.José Fonseca2012-02-2210-372/+1794
| | | | | | | | These were rotting in an internal branch, but contain nothing confidential, and would be much more useful if kept up-to-date with latest gallium interface changes. Several authors including Keith Whitwell, Zack Rusin, and Brian Paul.
* gallium/cso: Put the comment about shader in the code for future reference.José Fonseca2012-02-221-0/+7
|
* r600g: move invariant register updates into start_cs for evergreen and caymanMarek Olšák2012-02-213-118/+100
|
* r600g: move invariant register updates into start_cs for r6xx-r7xxMarek Olšák2012-02-213-102/+82
|
* r600g: add a depth misc state which depends on occlusion queriesMarek Olšák2012-02-2110-91/+152
| | | | | | | | | | | | | | | | This is a state which is derived from other states and is actually the first state which doesn't correspond to any gallium state. There are two state flags: bool occlusion_query_enabled bool flush_depthstencil_enabled Additional flags can be added later if needed, e.g. bool hiz_enabled. The emit function will have to figure out the register values by itself. It basically just emits the registers when the state changes. This commit also adds a few helper functions for writing registers directly into a command stream.
* r600g: consolidate the main draw codeMarek Olšák2012-02-214-133/+50
| | | | | The code was almost the same for r600 and eg. What can't be consolidated is in the *_prepare functions.
* r600g: move all invariant state from draw_vbo into start_csMarek Olšák2012-02-217-20/+35
|
* r600g: turn init_config into a command buffer for starting a CSMarek Olšák2012-02-2110-479/+379
| | | | | | | | | | | This is the first pure command buffer. It contains CS initialization packets and emits invariant state (i.e. the registers which never or rarely change). The affected registers are removed from *_hw_context.c, so that both ways of emitting commands can co-exist. v2: emit context_control in cayman's start_cs too
* gallium/cso: kill off non-functional shader cachingMarek Olšák2012-02-214-171/+0
| | | | | | | | | Suggested by José. We don't provide shader caching in CSO. Most of the time the api provides object semantics for shaders anyway, and the cases where it doesn't (eg mesa's internall-generated texenv programs), it will be up to the state tracker to implement their own specialized caching.
* gallium/util: remove u_simple_screenMarek Olšák2012-02-213-182/+0
| | | | Deprecated and unused.
* gallium: remove unused winsys pointers in pipe_screen and pipe_contextMarek Olšák2012-02-2121-37/+0
| | | | A winsys is already a private object of a driver.
* radeon/r600g: fix virtual address space allocationJerome Glisse2012-02-211-0/+3
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* llvmpipe: Remove lp_test_sincos.José Fonseca2012-02-216-909/+8
| | | | Completely replaced by lp_test_arit.
* vl: add support for bob deinterlacingChristian König2012-02-214-12/+66
| | | | | | | v2: return VDP_STATUS_INVALID_VIDEO_MIXER_PICTURE_STRUCTURE for unknown picture structure. Signed-off-by: Christian König <[email protected]>