summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: emit the border color only when it's neededMarek Olšák2012-10-154-4/+24
| | | | That depends on the texture wrap modes and filtering.
* r600g: cleanup create_sampler_state functionsMarek Olšák2012-10-153-57/+46
| | | | | | | - stopped using util_color - reformatted to occupy less characters per line. - used memcpy for the border color - used pipe_color_union in the state structure
* r600g: move shader structures into r600_shader.hMarek Olšák2012-10-129-25/+30
|
* r600g: implement MSAA resolving for 8-bit and 16-bit integer formatsMarek Olšák2012-10-121-3/+41
| | | | by changing the format to NORM.
* r600g: put user indices in the command stream for small index countsMarek Olšák2012-10-112-14/+28
| | | | | This improves performance a little bit if there are lots of small indexed draw commands.
* r600g: inline r600_translate_index_bufferMarek Olšák2012-10-114-65/+22
|
* gallium: unify transfer functionsMarek Olšák2012-10-117-218/+170
| | | | | | | | | | | | | | "get_transfer + transfer_map" becomes "transfer_map". "transfer_unmap + transfer_destroy" becomes "transfer_unmap". transfer_map must create and return the transfer object and transfer_unmap must destroy it. transfer_map is successful if the returned buffer pointer is not NULL. If transfer_map fails, the pointer to the transfer object remains unchanged (i.e. doesn't have to be NULL). Acked-by: Brian Paul <[email protected]>
* r600g: move SQ_GPR_RESOURCE_MGMT_1 into new config_stateMarek Olšák2012-10-103-14/+22
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: move DB_SHADER_CONTROL into db_misc_stateMarek Olšák2012-10-106-36/+27
| | | | | | | Also update the register value in more appropriate places than r600_update_derived_state. Reviewed-by: Jerome Glisse <[email protected]>
* r600g: emit PS_PARTIAL_FLUSH at the beginning of CSMarek Olšák2012-10-102-0/+12
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: atomize depth-stencil-alpha stateMarek Olšák2012-10-108-50/+28
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: atomize rasterizer stateMarek Olšák2012-10-107-173/+126
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: sort variables in r600_contextMarek Olšák2012-10-104-93/+79
| | | | | | Some variables have been removed from there too. Reviewed-by: Jerome Glisse <[email protected]>
* r600g: initialize SQ_VTX_SEMANTIC_* in the start_cs command bufferMarek Olšák2012-10-102-36/+36
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: atomize scissor stateMarek Olšák2012-10-108-78/+48
| | | | | | The workaround for R600 lacking VPORT_SCISSOR_ENABLE has also been simplified. Reviewed-by: Jerome Glisse <[email protected]>
* r600g: atomize polygon offset stateMarek Olšák2012-10-107-123/+121
| | | | | | | POLY_OFFSET_DB_FMT_CNTL is moved to the framebuffer state, because it only depends on the zbuffer format. Reviewed-by: Jerome Glisse <[email protected]>
* r600g: atomize fetch shaderMarek Olšák2012-10-109-121/+67
| | | | | | | The state object is actually a buffer, it's literally a buffer containing the shader code. Reviewed-by: Jerome Glisse <[email protected]>
* r600g: remove the dual_src_blend flag from the shader keyMarek Olšák2012-10-103-3/+4
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: atomize blend stateMarek Olšák2012-10-109-176/+182
| | | | | | | | | | | This is not so trivial, because we disable blending if the dual src blending is turned on and the number of color outputs is less than 2. I decided to create 2 command buffers in the blend state object and just switch between them when needed, because there are other states unrelated to blending (like the color mask) and those shouldn't be changed (the old code had it wrong). Reviewed-by: Jerome Glisse <[email protected]>
* r600g: inline r600_atom_dirtyMarek Olšák2012-10-108-52/+47
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: remove the "atom" variable from r600_command_bufferMarek Olšák2012-10-106-37/+34
| | | | | | | | | | | | | | | r600_command_buffer is not an atom. The "atoms" have evolved into state slots (or groups of state slots) where you can bind states. There is a fixed amount of atoms (state slots) in the context. The command buffers are nothing like that. They represent states, not state slots. We could probably give r600_atom a better name someday. Reviewed-by: Jerome Glisse <[email protected]>
* r600g: use a select to handle front/back color in llvmVincent Lejeune2012-10-092-5/+44
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r600g: frontcolor tracks its associated backcolorVincent Lejeune2012-10-092-25/+35
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r600g: Fix build with --enable-openclTom Stellard2012-10-091-1/+3
|
* r600g: remove unused variables to fix compile warningsMarek Olšák2012-10-092-4/+0
|
* r600g: fix possible issue with stencil mipmap renderingMarek Olšák2012-10-061-1/+12
| | | | | | | Somehow I only hit this issue with my latest libdrm changes. This won't be needed with DB texturing. NOTE: This is a candidate for the 9.0 branch.
* r600g: ensure PERFECT_ZPASS+NOOP_CULL_DISABLE are 0 for blits+decompressionMarek Olšák2012-10-061-23/+22
| | | | | | | | When an occlusion query was active, the derived DB state wasn't changed for u_blitter even though all the occlusion queries were suspended. It's fixed by moving the state update into the emit functions, which are called whenever queries are stopped or suspended.
* r600g: don't modify pipe_resource in resource_copy_region, fixing race conditionMarek Olšák2012-10-065-161/+139
| | | | | | pipe_resource can be shared between contexts, we shouldn't modify its description. Instead, let's use the resource "views" (sampler views and surfaces), where we can freely change almost any property of a resource.
* r600g: fix streamout on RS780 and RS880Marek Olšák2012-10-062-7/+14
| | | | | The latest kernel from git is required. Transform feedback (along with GL3.0) is turned off on older kernels.
* r600g: Re-enable growing of the compute memory poolTom Stellard2012-10-012-18/+4
|
* r600g: Fix bug when adding new items to the compute memory poolTom Stellard2012-10-011-6/+23
| | | | | | | The items are ordered in the item list by their offsets, with the lowest offset coming first in the list. The old code was assuming that new items being added to the list would always have a greater offset than the first item in the list, however this is not always the case.
* r600g: Use a RAT buffer as the backing bo for the compute memory poolTom Stellard2012-10-012-34/+6
|
* r600g: Make sure to init the compute memory pool with enough memoryTom Stellard2012-10-011-1/+1
|
* r600g: Add evergreen_init_color_surface_rat() v2Tom Stellard2012-10-012-0/+59
| | | | | | | | | | | This can be used to initialize the CB* registers for buffers without a radeon_surface. v2: - Get correct group_bytes value from r600_screen - Stop setting unnecessary fields Reviewed-by: Marek Olšák <[email protected]>
* r600g: Add register field definitions for 028C70_RESOURCE_TYPETom Stellard2012-10-011-0/+7
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium: remove resource_resolveMarek Olšák2012-09-301-152/+0
| | | | | | | The functionality is provided by the new blit function. Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r600g: implement blitMarek Olšák2012-09-305-23/+140
| | | | | Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/u_blitter: add gallium blit implementationMarek Olšák2012-09-303-25/+17
| | | | | | | The original blit function is extended and the otAher functions reuse it. Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/u_blitter: add ability to disable and restore the render conditionMarek Olšák2012-09-302-14/+5
| | | | | Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium: add PIPE_CAP_TEXTURE_MULTISAMPLEMarek Olšák2012-09-301-0/+1
| | | | | Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r600g: add some members to radeon_llvm_contextVincent Lejeune2012-09-281-0/+5
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r600g: tgsi-to-llvm path is taken after declarations have been parsedVincent Lejeune2012-09-281-26/+32
| | | | Reviewed-by: Tom Stellard <[email protected]>
* r600g: fix EXP on CaymanMarek Olšák2012-09-271-4/+2
| | | | NOTE: This is a candidate for the stable branches.
* r600g: fix RSQ of negative value on CaymanMarek Olšák2012-09-271-0/+5
| | | | NOTE: This is a candidate for the stable branches.
* r600g: fix instance divisor on CaymanMarek Olšák2012-09-271-19/+35
| | | | | | Not sure if this is the best way to fix it. NOTE: This is a candidate for the stable branches.
* r600g: flush FMASK and CMASK when changing colorbuffers on EvergreenMarek Olšák2012-09-276-1/+18
| | | | | | This fixes rare graphical corruption. NOTE: This is a candidate for the stable branches.
* r600g: use invalid DB hardware formats to disable depth/stencilMarek Olšák2012-09-273-2/+23
|
* radeon/llvm: improve select_cc lowering to generate CND* more oftenVincent Lejeune2012-09-271-0/+15
| | | | | | | | v2: - Simplify isZero() - Remove a unused function prototype - Clean whitespace trails Reviewed-by: Tom Stellard <[email protected]>
* gallium: Add PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE v2Tom Stellard2012-09-251-0/+16
| | | | | | v2: - Add comment in screen.rst - Report OpenCL required minimum for r600g
* r600g: Handle multiple kernels in the same program v2Tom Stellard2012-09-255-21/+84
| | | | | v2: - Use pc parameter of launch_grid