summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gallium: introduce GLSL based interpolation rules. (v2)Dave Airlie2012-01-107-6/+19
| | | | | | | | | | | | This introduces an unspecified interpolation paramter that is only allowed for color semantics, so a specified GLSL interpolation will override the ShadeModel specified interpolation, but not vice-versa. This fixes a lot of the interpolation tests in piglit. v2: rename from unspecified to color Signed-off-by: Dave Airlie <[email protected]>
* nvc0: fix FP header clip distance maskChristoph Bumiller2012-01-101-5/+5
|
* nvc0/ir: TXF array index already is an integerChristoph Bumiller2012-01-101-3/+6
|
* nv50/ir: handle TGSI_SEMANTIC_VERTEXIDChristoph Bumiller2012-01-104-8/+8
|
* nv50/ir/tgsi: translate SNE as unordered comparisonChristoph Bumiller2012-01-101-0/+1
| | | | Fixes isnan().
* nv50/ir/ra: don't coalesce contraint-movesChristoph Bumiller2012-01-101-0/+4
| | | | | | | | This could lead to incorrect code when fixed regs are involved. Surprisingly, the increased freedom actually leads to lower register usage in some cases. Still want to find a better way to treat constraints though ...
* nvc0: enable shader watchdog timerChristoph Bumiller2012-01-102-0/+8
| | | | Prevent infinite loops in shaders from locking up the GPU.
* nv50/ir/tgsi: handle TGSI_OPCODE_IABSChristoph Bumiller2012-01-101-0/+3
|
* nv50/ir/opt: optimize u32 MOD by power of 2 into ANDChristoph Bumiller2012-01-101-0/+8
|
* nv50/ir/opt: s/SHL/SHR in optimization of u32 DIVChristoph Bumiller2012-01-101-1/+1
|
* nv50/ir,nvc0: make ClipDistance and ClipVertex workChristoph Bumiller2012-01-106-24/+54
|
* nv50,nvc0: handle new PIPE_CAPsChristoph Bumiller2012-01-102-0/+15
|
* nvc0/ir/emit: fix modifiers of f32 add with long immediateChristoph Bumiller2012-01-101-5/+11
|
* nvc0/ir: fix default insertion position in pre-SSA lowering passChristoph Bumiller2012-01-101-7/+1
| | | | | | Always set position to insert before the current instruction, the previous behaviour led to confusion (bug in checkPredicate for BBs with only a single conditional branch).
* Squash-merge branch 'gallium-clip-state'Marek Olšák2012-01-1079-322/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_strings.c src/mesa/state_tracker/st_atom_clip.c commit d919791f2742e913173d6b335128e7d4c63c0840 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 17:59:22 2012 +0100 d3d1x: adapt to new clip state commit cfec82bca3fefcdefafca3f4555285ec1d1ae421 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:16:51 2012 +0100 gallium/docs: update for clip state changes commit c02bfeb81ad9f62041a2285ea6373bbbd602912a Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:21:43 2012 +0100 tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS commit d4e0a785a6a23ad2f6819fd72e236acb9750028d Author: Brian Paul <[email protected]> Date: Thu Jan 5 08:30:00 2012 -0700 tgsi: consolidate TGSI string arrays in new tgsi_strings.h There was some duplication between the tgsi_dump.c and tgsi_text.c files. Also use some static assertions to help catch errors when adding new TGSI values. v2: put strings in tgsi_strings.c file instead of the .h file. Reviewed-by: Dave Airlie <[email protected]> commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 12:48:09 2012 +0100 gallium: extend user_clip_plane_enable to apply to clip distances commit f1d5016c07f786229ed057effbe55fbfd160b019 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 02:39:09 2012 +0100 nvfx: adapt to new clip state commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 01:41:39 2012 +0100 st/mesa: fix DrawPixels with GL_DEPTH_CLAMP commit c86ad730aa1c017788ae88a55f54071bf222be12 Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:51:30 2012 +0100 nv50: adapt to new clip state commit 3a8ae6ac243bae5970729dc4057fe02d992543dc Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:32:36 2012 +0100 nvc0: adapt to new clip state commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11 Author: Marek Olšák <[email protected]> Date: Thu Dec 29 01:32:51 2011 +0100 draw: initalize pt.user.planes in draw_init This fixes a crash in glean/fpexceptions. commit e3056524b19b56d473f4faff84ffa0eb41497408 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:26:55 2011 +0100 svga: adapt to new clip state commit c5bfa8b37d6d489271df457229081d6bbb51b4b7 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:11:51 2011 +0100 r600g: adapt to new clip state commit f11890905362f62627c4a28a8255b76eb7de7df2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:10:26 2011 +0100 r300g: adapt to new clip state commit e37465327c79a01112f15f6278d9accc5bf3103f Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:39:16 2011 +0100 draw: adapt to new clip state This adds a regression in the LLVM clipping path. Can anybody see anything wrong with the code? It works for every other case, just glean/fpexceptions crashes when doing the "Infinite clip plane test". commit b474d2b18c72d965eefae4e427c269cba5ce6ba2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:14:59 2011 +0100 u_blitter: don't save/set/restore clip state commit 9dd240ea91f523a677af45e8d0adb9e661e28602 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:11:56 2011 +0100 gallium: don't cso_save/set/restore clip state The enable bits are in the rasterizer state. commit a4f7031179f5f4ad524b34b394214b984ac950f6 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:58:55 2011 +0100 gallium: default depth_clip to 1 depth_clip = !depth_clamp commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:14:19 2011 +0100 trace,util: update state logging to new clip state Also dump the other missing flags. commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 10:43:43 2011 +0100 st/mesa: adapt to new clip state commit b7b656a42fca19d7c85267f42649a206a85a2c72 Author: Marek Olšák <[email protected]> Date: Sat Dec 17 15:45:19 2011 +0100 gallium: move state enable bits from clip_state to rasterizer_state
* i965: Fix zeroing of unused attributes in 3DSTATE_SBE.Kenneth Graunke2012-01-091-2/+2
| | | | | | | | | | | | | This brings the code in sync with gen6_sf_state.c; presumably the mistake was a botched rebase on initial Ivybridge bring-up patches. Found by diffing batch buffer dumps and noticing the random values. Thanks to Eric for catching the obvious mistake. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Re-sync outdated comments about Gen6+ push constants.Kenneth Graunke2012-01-092-2/+2
| | | | | | | | | | | | In f3e9ccb3b, I renamed gen6_upload_wm_constants to gen6_upload_wm_push_constants, but neglected to update this comment. I don't think there ever was a gen7_prepare_wm_constants function; it was probably a search and replace error. Of course, "prepare" functions died a while back as well. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Update dirty bit comments for the gen7_ps_state atom.Kenneth Graunke2012-01-091-1/+2
| | | | | | | | | CACHE_NEW_SAMPLER doesn't cover max_wm_threads, but it does cover brw->sampler.count. BRW_NEW_PS_BINDING_TABLE is obvious, but it's probably worth adding a comment anyway. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Annotate the use of _NEW_PROGRAM in Gen6+ SF state atoms.Kenneth Graunke2012-01-092-2/+2
| | | | | | | The dirty bit was already correctly in place, but there was no comment. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Add missing _NEW_PROGRAM dirty bit to the brw_sf_state atom.Kenneth Graunke2012-01-091-0/+2
| | | | | | | | | Also, annotate the use of _NEW_POINT as long as we're adding a comment. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Add missing _NEW_PROGRAM dirty bit to the gen7_sbe_state atom.Kenneth Graunke2012-01-091-0/+2
| | | | | | | | | | | According to a comment in gen6_sf_state, calls to get_attr_override need both _NEW_PROGRAM and _NEW_LIGHT. Since Gen7 reuses the same function, the same dirty bits should apply. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Remove BRW_NEW_CURBE_OFFSETS dirty bit from Gen7 atoms.Kenneth Graunke2012-01-092-5/+2
| | | | | | | | | | The BRW_NEW_CURBE_OFFSETS dirty bit is only flagged by the brw_curbe_offsets state atom which is only used on Gen4-5. Since it's never flagged, there's no reason to depend on it. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Remove BRW_NEW_URB_FENCE dirty bit from Gen6+ atoms.Kenneth Graunke2012-01-095-8/+2
| | | | | | | | | | The BRW_NEW_URB_FENCE dirty bit is only flagged by the brw_recalculate_urb_fence state atom which isn't used on Gen6+. Since it's never flagged, there's no reason to depend on it. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Add missing _NEW_BUFFERS dirty bit to Gen6+ DEPTH_STENCIL atoms.Kenneth Graunke2012-01-091-1/+1
| | | | | | | | | | This brings the dirty bits in line with the comments. This does /not/ need to be cherry-picked to stable branches because the access requiring _NEW_BUFFERS was added in master as part of HiZ. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* glsl: fix glsl optimization infinite loop from copy_propagation_elementsAndy Clayton2012-01-091-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | The trick was to produce an assignment in the IR along the lines of: (assign (xyzw) (var_ref R0) (swiz wwww (var_ref R0) )) which occurs only rarely even in code that looks like it should do this, because of the assignment temporaries generated in ast_to_hir. From the IR above, this optimization pass would then propagate references of R0 into R0.wwww (seems reasonable), but without this patch, a later reference of R0.wwww would see R0 first, turning that into R0.wwww.wwww, which triggered opt_swizzle_swizzle, and then we looped back to this code to do it again. Avoid that by skipping over the usual ir_rvalue visitor's ir_swizzle hook, so that we get handle_rvalue() on the ir_swizzle itself, not its referenced value. Looking at only the swizzle will always optimize away at least as much as looking at the swizzle's refererenced value. We now still claim to propagate r0.w into r0.w, but at least we don't trigger the loop. v2: Rewrite commit message (changes by anholt) Fixes piglit glsl-copy-propagation-self-1 Fixes https://bugs.freedesktop.org/show_bug.cgi?id=34006
* softpipe: Document new llvm flagJakob Bornecrantz2012-01-091-0/+2
| | | | Signed-off-by: Jakob Bornecrantz <[email protected]>
* softpipe: Don't use llvm in drawJakob Bornecrantz2012-01-091-1/+4
| | | | | | | But add a option to force it on for testing. Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* draw: Fail if we fail to enable llvm when asked for itJakob Bornecrantz2012-01-091-5/+11
| | | | | | | | The r300 driver requires LLVM when building and other drivers that depend on it for all TNL, like i915g will be a lot slower without it. Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* draw: Make it possible to create a llvm free contextJakob Bornecrantz2012-01-092-15/+35
| | | | | Signed-off-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Bump version to 8.0 (devel)Kenneth Graunke2012-01-095-12/+12
| | | | | | | Also update the release notes to mention that Mesa 8.0 implements OpenGL 3.0. Signed-off-by: Kenneth Graunke <[email protected]>
* radeon/winsys: fix get info ioctl error checkingJerome Glisse2012-01-091-3/+5
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* i965/fs: Fix projector==1.0 optimization pre-gen6.Eric Anholt2012-01-091-7/+3
| | | | | | | | | | | | | | The optimization was supposed to turn an attribute component that was always 1.0 into a mov of 1.0. But by leaving loop this patch removes out of that test, we applied the projection correction to the 1.0 and got some other value, breaking openarena once it was converted to using the new compiler backend. Originally this hunk was separate from the former loop to make the generated instructions slightly better pipelined. We now have automatic instruction scheduling to handle that, and the generated instruction sequence looked the same to me after this change (except for the bugfix).
* i965/fs: Fix GPU hangs with 16-wide integer div/mod on gen7.Eric Anholt2012-01-091-0/+6
| | | | Acked-by: Kenneth Graunke <[email protected]>
* mesa: Fix bogus transform feedback error message when subscripting non-array.Paul Berry2012-01-091-3/+3
| | | | | | | | | | | | | | | Previous to this patch, if the client requested transform feedback using a subscript, but the variable was not an array (e.g. "gl_FrontColor[0]"), we would produce a bogus error message like "Transform feedback varying gl_FrontColor[0] found, but it's an array ([] expected)". Changed the error message to e.g. "Transfrorm feedback varying gl_FrontColor[0] requested, but gl_FrontColor is not an array." Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: fix error message in _mesa_BlitFramebufferEXT()Brian Paul2012-01-091-1/+1
|
* mesa: check depth, stencil formats (not depths) in glBlitFramebufferBrian Paul2012-01-091-6/+4
| | | | | | | | | | | | We were only comparing the number of depth and stencil bits but the extension spec actually says the formats must match: The error INVALID_OPERATION is generated if BlitFramebufferEXT is called and <mask> includes DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT and the source and destination depth or stencil buffer formats do not match. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: add missing error check for linear blit of integer colorsBrian Paul2012-01-091-0/+13
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* swrast: convert blit_linear() to Map/UnmapRenderbuffer()Brian Paul2012-01-091-25/+158
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: add _mesa_unpack_ubyte_rgba_row() functionBrian Paul2012-01-092-0/+502
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: rename _mesa_unpack_int_rgba_row() to _mesa_unpack_uint_rgba_row()Brian Paul2012-01-093-5/+5
| | | | | | Since it returns uint values, not int. Reviewed-by: Eric Anholt <[email protected]>
* vl: replace decode_buffers with auxiliary data fieldChristian König2012-01-0919-158/+146
| | | | | | | Based on patches from Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]> Acked-by: Maarten Lankhorst <[email protected]>
* i965: Actually enable SIMD16 dispatch on Ivybridge.Kenneth Graunke2012-01-081-2/+7
| | | | | | | | | | | | | | | | Commit acf82657f4d607e4477f03752613d42f239e4bd3 supposedly enabled SIMD16 dispatch, but neglected to set the "16 Pixel Dispatch Enable" bit, so nothing actually got enabled. Furthermore, it neglected to set up the Dispatch GRF Start Register for kernel 2, which is the SIMD16 program. Increases performance in Nexuiz by ~15% at 800x600 (n=3). NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* nvfx: remove unused-but-set variablesMarek Olšák2012-01-082-5/+0
|
* i965: Correct _NEW_TRANSOFORM typos.Kenneth Graunke2012-01-072-2/+2
| | | | | | Using the proper spelling, _NEW_TRANSFORM, makes searching work better. Signed-off-by: Kenneth Graunke <[email protected]>
* i965: Correct misspellings of "invariant".Kenneth Graunke2012-01-074-9/+9
| | | | | | | | | $ dict invarient No definitions found for "invarient", perhaps you mean: gcide: Invariant wn: invariant Signed-off-by: Kenneth Graunke <[email protected]>
* glsl_to_tgsi: emit IABS for absolute value of integersBryan Cain2012-01-071-2/+4
|
* mesa: rework ctx->Driver.CopyTexSubImage() parametersBrian Paul2012-01-0710-149/+164
| | | | | | | | | | | Replace target, level parameters with gl_texture_image. Add gl_renderbuffer parameter to indicate source buffer for the copy. This removes some redundant code in the drivers to find the source renderbuffer and the destination texture image (which we already had in _mesa_CopyTexSubImage). Signed-off-by: Brian Paul <[email protected]>
* gallium: add an IABS opcode to TGSIBryan Cain2012-01-074-1/+20
| | | | | | This is a necessary operation that is missing from TGSI. Reviewed-by: Brian Paul <[email protected]>
* mesa: remove unused _mesa_unpack_uint_rgba_row() prototypeBrian Paul2012-01-071-5/+0
|
* glsl_to_tgsi: fix emission of boolean constantsBryan Cain2012-01-071-1/+1
| | | | We use 0xffffffff for true, but visit(ir_constant *) was emitting 1.