summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* r600g: initialize SX_SURFACE_SYNCMarek Olšák2012-03-054-0/+11
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: if pixel shader is NULL, bind a dummy oneMarek Olšák2012-03-053-7/+28
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: add support for missing colorbuffer formatsMarek Olšák2012-03-052-2/+158
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: remove support for SCALED colorbuffer formatsMarek Olšák2012-03-052-34/+0
| | | | | | | | Unused by the current stack and APIs, therefore untestable. It was used to facilitate the transition to integers. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: permit blitting between textures with STREAM and STAGING usageMarek Olšák2012-03-051-8/+1
| | | | | | | | Eventually I'd like to make every format blittable, so that the function can go away. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: fix and improve rasterizer discard for r600-r700Marek Olšák2012-03-052-6/+15
| | | | | | | | | | | | For polygons, we have been using face culling with success, but that doesn't work for points and lines. Setting the point size and line width to 0 fixes it. Also improve it even more by setting SCREEN_SCISSOR to a zero area. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: rework rasterizer discard for evergreenMarek Olšák2012-03-055-16/+46
| | | | | | | | | | | Implement it right using STRMOUT_CONFIG.RAST_STREAM. This fixes rasterizer discard with points and lines. This also adds another derived state. It's a combination of rasterizer discard and streamout enable. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: make some scissor regs invariant on r600-r700Marek Olšák2012-03-052-16/+8
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: make some scissor regs invariant on evergreenMarek Olšák2012-03-052-22/+16
| | | | | | | We only need one scissor for the framebuffer. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: rework scissor for r600-r700Marek Olšák2012-03-056-46/+72
| | | | | | | | | | | | | We must use VPORT_SCISSOR, because that's the only one we can use for multiple scissor rectangles in ARB_viewport_array. R700 can use the VPORT_SCISSOR_ENABLE bit, but R600 doesn't have that and must emit a 8192x8192 rectangle if scissor is disabled. This commit also cleanups magic numbers in create_rs_state. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: rework scissor for evergreenMarek Olšák2012-03-053-71/+31
| | | | | | | | VPORT_SCISSOR is the OpenGL scissor. How do I know? Because there are 16 of them just like GL4.1 has multiple scissor rectangles. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: remove obsolete todo commentsMarek Olšák2012-03-059-32/+22
| | | | | | | | Also use XXX in the other ones, because it's the most used word for that purpose in Mesa. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: correctly handle queries which don't need begin_queryMarek Olšák2012-03-051-6/+27
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: don't suspend timer queries for u_blitterMarek Olšák2012-03-055-23/+88
| | | | | | | | | | | | Timer queries should be able to measure the time spent in u_blitter as well. Queries are split into two groups: the timer ones and the others (streamout, occlusion), because we should only suspend non-timer queries for u_blitter, and later if the non-timer queries are suspended, the context flush should only suspend and resume the timer queries. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: release query buffers in destroy_queryMarek Olšák2012-03-051-0/+9
| | | | | | | This fixes a memory leak introduced with the rework. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* r600g: move all query code into r600_query.cMarek Olšák2012-03-055-456/+414
| | | | | | | | And rename or inline functions where appropriate. There is no reason to keep this stuff in r600_hw_context.c. Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"Marek Olšák2012-03-0512-57/+6
| | | | | | | This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc. It was decided to refactor the transfer API instead of adding workarounds to address the performance issues.
* i915: fix wrong rendering of gl_PointSize on PineviewYuanhan Liu2012-03-051-0/+4
| | | | | | | | | | | | | | | | | | The current code would ignore the point size specified by gl_PointSize builtin variable in vertex shader on Pineview. This patch servers as fixing that. This patch fixes the following issues on Pineview: webglc: https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/rendering/point-size.html piglit: glsl-vs-point-size NOTE: This is a candidate for stable release branches. v2: pick Eric's nice tip for fixing this issue in hardware rendering. v3: the last arg of EMIT_ATTR specify the size in _byte_. (Eric) Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* tnl: let _TNL_ATTRIB_POINTSIZE do not depend on ctx->VertexProgram._EnabledYuanhan Liu2012-03-051-2/+1
| | | | | | | | | | | | We may specify the point size in a glsl vertex shader. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46311 piglit: glsl-vs-point-size NOTE: This is a candidate for stable release branches. Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r300/compiler: Add support for inline literalsTom Stellard2012-03-0412-9/+192
| | | | | On R500 chips, shader instructions can take 7-bit (3-bit mantissa, 4-bit exponent) floating point values as inputs in place of registers.
* vl: fix shader in/out numberingChristian König2012-03-035-10/+10
| | | | | | Fix all the other wrong numberings. Signed-off-by: Christian König <[email protected]>
* egl: Also put a symlink from libEGL.so in lib/ for now.Eric Anholt2012-03-021-0/+1
| | | | | | This fixes the egl_gallium.so driver build when no system libEGL.so is present, since it's relying on the lib/ to build against until it gets converted to automake.
* i915: Fix i830 polygon stipple from PBOs.Kurt Roeckx2012-03-021-1/+7
| | | | | | | | | | | This is a direct port of the i915 patch in a856da63247a4b403f6350914f732e14d1530ed1. Fixes glean's pbo test. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41372 Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for release branches.
* i915: Compute maximum number of verts using the actual batchbuffer size.Kurt Roeckx2012-03-021-3/+3
| | | | | | | | | | | We were looking at the size of batch.map for how big the batchbuffer was, but on 865 we just use a single-page batchbuffer due to hardware limits. v2: Removed check for sizeof map < bo->size, since that's always false. [change by anholt] NOTE: This is a candidate for release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41495
* i830: Compute initial number of vertices from remaining batch spaceChris Wilson2012-03-021-5/+11
| | | | | | | | | | | | | In order to prevent an overflow of the batch buffer when emitting triangles, we need to limit the initial primitive to fit within the current batch. To do we need to measure the remaining space and thence compute the maximum number of vertices that fit into that space. Reported-by: Kurt Roeckx <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41495 Signed-off-by: Chris Wilson <[email protected]> Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for release branches.
* dri/i915: Fix off-by-one in i830 clip region size.Alban Browaeys2012-03-021-2/+2
| | | | | | | | | | | | | | | | | | The hardware, like i915, uses an inclusive bounds on min and max for the drawing rectangle, but we were providing a number for exclusive. The number of bits used by the hardware only covers this value going up to the maximum size, so when we programmed 2048 as the maximum inclusive X, it saw a maximum X of 0 and clipped all rendering. This caused rendering failures in gnome-shell. Fixes piglit fbo-maxsize. v2: dropped changes to the blitter, which does use an exclusive x2, y2. [change by anholt] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45558 Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for release branches.
* intel: Don't enable GL_ARB_draw_instanced pre-gen4.Eric Anholt2012-03-021-1/+1
| | | | swtnl doesn't handle this extension.
* i915: Fix piglit fbo-nodepth-test on i830.Eric Anholt2012-03-022-3/+8
| | | | | | | | | This is a direct port of fc4fba52cf7e9616c70dd76b4d6bdba6582e157b from i915, and fixes GPU hangs when running piglit. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41372 Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for release branches.
* vl/compositor: fix shader in/out numberingChristian König2012-03-021-5/+5
| | | | | | | Michel pointed out that my assumption of a global index namespace is incorrect and breaks r300g. Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement OutputSurfaceQueryPutBitsYCbCrCapabilitiesChristian König2012-03-021-1/+33
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement OutputSurfacePutBitsYCbCrChristian König2012-03-021-1/+82
| | | | | | v2: the csc_matrix is optional Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement VideoSurfaceGetBitsYCbCrChristian König2012-03-021-8/+53
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement OutputSurfaceQueryGetPutBitsNativeCapabilitiesChristian König2012-03-021-1/+23
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement OutputSurfaceGetBitsNativeChristian König2012-03-021-1/+36
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement OutputSurfacePutBitsNativeChristian König2012-03-023-15/+43
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement OutputSurfaceQueryPutBitsIndexedCapabilitiesChristian König2012-03-021-1/+43
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: fix default swizzle for Output/Bitmap samplersChristian König2012-03-024-6/+24
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: add support for per vertex colorsChristian König2012-03-021-2/+28
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement BitmapSurfaceQueryCapabilitiesChristian König2012-03-021-1/+35
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement OutputSurfaceRenderBitmapSurfaceChristian König2012-03-021-1/+40
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement BitmapSurfaceGetParametersChristian König2012-03-021-1/+14
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement BitmapSurfacePutBitsNativeChristian König2012-03-021-2/+31
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: implement BitmapSurfaceCreate/DestroyChristian König2012-03-022-3/+81
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: avoid an unnessasary copyChristian König2012-03-025-21/+112
| | | | | | | Delay the actual mixer rendering until we really know which surface is the real destination. Signed-off-by: Christian König <[email protected]>
* vl/csc: simplify matrix handlingChristian König2012-03-028-85/+82
| | | | | | A csc matrix is only 4x3 not 4x4, also define a VDPAU compatible type for it. Signed-off-by: Christian König <[email protected]>
* vl/compositor: add support for per layer dst areasChristian König2012-03-025-44/+51
| | | | Signed-off-by: Christian König <[email protected]>
* vl/compositor: add per vertex color suportChristian König2012-03-026-35/+88
| | | | | | Used in subtitles, for example. Signed-off-by: Christian König <[email protected]>
* vl/compositor: replace pipe_video_rect with u_rectChristian König2012-03-0210-62/+55
| | | | | | So we support things like flipping also. Signed-off-by: Christian König <[email protected]>
* vl/compositor: split shaders and stateChristian König2012-03-0210-204/+311
| | | | Signed-off-by: Christian König <[email protected]>
* Revert "gallivm: Change getExtent and readByte to non-const with llvm-3.1."Vinson Lee2012-03-011-8/+0
| | | | | | | | | This reverts commit d5a6c172547d8964f4d4bb79637651decaf9deee. llvm-3.1svn r151687 makes MemoryObject accessor members const again. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>