summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-20r600g: Fix flushing issues with llvm on r700 hwHEADmasterVincent Lejeune1-3/+3
2012-11-19egl/dri2: Set error code when dri2CreateContextAttribs failsChad Versace1-0/+64
When dri2CreateContextContextAttribs failed, eglCreateContext returned NULL yet set the error code to EGL_SUCCESS! The problem was that eglCreateContext ignored the error code returned by driCreateContextAttribs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56706 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-19i965: Validate requested GLES context version in brwCreateContextChad Versace1-33/+25
For GLES1 and GLES2, brwCreateContext neglected to validate the requested context version received from the DRI layer. If DRI requested an OpenGL ES2 context with version 3.9, we provided it one. Before this fix, the switch statement that validated the requested GL context flavor was an ugly #ifdef copy-paste mess. Instead of reproducing the copy-past-mess for GLES1 and GLES2, I first refactored it. Now the switch statement is readable. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-19automake: strip LLVM_CXXFLAGS and LLVM_CPPFLAGS tooMaarten Lankhorst1-2/+2
It seems that -NDEBUG and other flags might still be leaked through those variables, so strip those off there as well. NOTE: This is a candidate for the 9.0 branch. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
2012-11-17i965/fs: Properly patch special values during VGRF compaction.Kenneth Graunke1-0/+27
In addition to registers used by instructions, fs_visitor maintains direct references to certain "special" values used for inputs/outputs. When I added VGRF compaction, I overlooked these, believing that these direct references weren't used once instructions were generated. That was wrong. For example, pixel_x/y are used in virtual_grf_interferes(), which is called by optimization passes and register allocation. This patch treats all of them as used and patches them after compacting. While it's not strictly necessary to patch all of them (as some aren't used after emitting code), it seems safer to simply fix them all. Fixes oglconform's textureswizzle/advanced.shader.targets, piglit's glsl-fs-lots-of-tex, and glean's texCombine on pre-Gen6 hardware. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56790 Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-17i965/gen4: Respect the VERTEX_PROGRAM_TWO_SIDE vertex program/shader flag.Eric Anholt1-3/+4
Fixes piglit "vertex-program-two-side enabled front back" and 4 others. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-11-17mesa: Fix linker-assigned varying component counting since 8fb1e4a462Eric Anholt1-2/+1
The goal of that change was to skip counting things that aren't actually outputs from the VS to the FS. However, explicit_location isn't set in the case of linker-assigned locations (the common case), so basically varying component counting got disabled. At this stage of the linker, we've already ensured that var->location is set, so we can just look at it without worrying. Fixes i965 assertion failure with the new piglit glsl-max-varyings --exceed-limits. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51545 Reviewed-by: Brian Paul <brianp@vmware.com>
2012-11-17mesa: Fix segfault on reading from a missing color read buffer.Eric Anholt1-11/+11
The diff looks funny, but it's moving the integer vs non-integer check below the _mesa_source_buffer_exists() check that ensures _ColorReadBuffer is non-null, so we get a GL_INVALID_OPERATION instead of a segfault. This looks like it had regressed in the _mesa_error_check_format_and_type() changes, which removed the first of the two duplicated checks for the source buffer. Fixes segfault in the new piglit ARB_framebuffer_object/negative-readpixels-no-rb. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45877 NOTE: This is a candidate for the stable branches. Reviewed-by: Brian Paul <brianp@vmware.com>
2012-11-17intel: Use core mesa support for determining lastLevel.Eric Anholt1-3/+3
We had similar issues with using depth in determining the lastLevel of array textures. Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-17mesa: Also handle GL_TEXTURE_EXTENRAL_OES in max num levels.Eric Anholt1-0/+1
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-17i965/fs: Unify the param pointer allocation for FP/non-FP.Eric Anholt1-13/+7
Now that we're using the new backend, we may actually put things into push constants if you have too many uniform values uploaded. Also, correctly account for texture rectangle params and drop the old special case for the 0.0/1.0 params from the old backend.
2012-11-17st/vdpau: Fix vlVdpVideoSurfaceSize for interlaced buffersMaarten Lankhorst1-2/+2
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
2012-11-17docs: import release notes for 9.0.1, add news itemAndreas Boll3-0/+176
2012-11-16util: Only use open coded snprintf for MSVC.Vinson Lee2-3/+3
MinGW has snprintf. The patch fixes these warnings with the MinGW SCons build. src/gallium/auxiliary/util/u_snprintf.c:459:1: warning: no previous prototype for ‘util_vsnprintf’ [-Wmissing-prototypes] src/gallium/auxiliary/util/u_snprintf.c:1436:1: warning: no previous prototype for ‘util_snprintf’ [-Wmissing-prototypes] Signed-off-by: Vinson Lee <vlee@freedesktop.org> Tested-by: Brian Paul <brianp@vmware.com>
2012-11-16clover: Fix build with clang 3.2Tom Stellard1-1/+6
2012-11-16r300/compiler: Avoid generating MOV instructions for invalid IMM swizzles v2Tom Stellard1-4/+349
If an instruction reads from a constant register that contains immediates using an invalid swizzle, we can avoid generating MOV instructions to fix up the swizzle by loading the immediates into a different constant register that can be read using a valid swizzle. This only affects r300 and r400 cards. For example: CONST[1] = { -3.5000 3.5000 2.5000 1.5000 } MAD temp[4].xy, const[0].xy__, const[1].xz__, input[0].xy__; ========== Before this change would be lowered to: ========= CONST[1] = { -3.5000 3.5000 2.5000 1.5000 } MOV temp[0].x, const[1].x___; MOV temp[0].y, const[1]._z__; MAD temp[4].xy, const[0].xy__, temp[0].xy__, input[0].xy__; ========== After this change is lowered to: =============== CONST[1] = { -3.5000 3.5000 2.5000 1.5000 } CONST[2] = { 0.0000 -3.5000 2.5000 0.0000 } MAD temp[4].xy, const[0].xy__, const[2].yz__, input[0].xy__; ============================================================ This change reduces one of the Lightsmark shaders from 133 to 91 instructions. v2: - Fix crash caused by swizzles with only inline constants.
2012-11-16radeonsi: clean up some magic numbersAlex Deucher1-1/+2
Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2012-11-16radeonsi: emit PA_SC_RASTER_CONFIGAlex Deucher1-0/+11
Use per asic golden values. Programming this register doesn't seem to be strictly necessary on SI, but programming it wrong leads to rendering issues or reduced performance so just go ahead and program the golden values explicitly to avoid any potential problems down the road. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2012-11-16[PATCH] makefiles: use configured name for -ldrm* where possibleMaarten Lankhorst13-25/+25
For precise lts support I had to do some magic with the library names, which works fine as long as the libraries from pkg-config are used. The parts with src/gallium/targets/va-*/Makefile will not apply on the master branch, but do apply to the 9.0 branch. NOTE: This is a candidate for the 9.0 branch. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Acked-by: Matt Turner <mattst88@gmail.com>
2012-11-16docs: add note about removal of OpenVMS supportAndreas Boll1-0/+1
2012-11-16Remove OpenVMS supportMatt Turner27-2313/+4
Not maintained since 2008. Doubtful that it's worked in quite a while. Also see commit 32ac8cb05 which removed VMS stuff from Makefile in 2009. Cc: Jouk Jansen <j.jansen@tudelft.nl> Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com>
2012-11-16build: add missing Makefile.in files to tarballs targetAndreas Boll1-0/+3
Those are recently introduced on master. Reviewed-by: Matt Turner <mattst88@gmail.com>
2012-11-16build: fix make tarballs targetAndreas Boll1-1/+1
fixes regression introduced in 907844107252260c646aca361191ef7f121f3d23 Targets for making lex.yy.c program_parse.tab.c and program_parse.tab.h got moved into its own Makefile Reviewed-by: Matt Turner <mattst88@gmail.com>
2012-11-15gles2: Update gl2ext.h to revision 19436Matt Turner1-17/+301
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-15gles2: Update gl2.h to revision 16803Matt Turner1-3/+2
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-15gles: Update glext.h to revision 19260Matt Turner1-7/+212
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-15egl: Update eglext.h to revision 19571Matt Turner1-1/+9
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-15mesa: return INVALID_VALUE from WaitSync if timeout != GL_TIMEOUT_IGNOREDMatt Turner1-5/+2
This was added in version 22 of the GL_ARB_sync spec. Fixes gles3conform's sync_error_waitsync_timeout test. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-11-15mesa: return INVALID_VALUE from WaitSync if flags != 0Matt Turner1-1/+1
Fixes gles3conform's sync_error_waitsync_flags test. Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-11-15mesa: return INVALID_VALUE from ClientWaitSync if flags contains an ↵Matt Turner1-1/+1
unsupported flag Fixes gles3conform's sync_error_clientwaitsync_flags test. Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-11-15mesa: return INVALID_VALUE from VertexAttribDivisor if index out of rangeMatt Turner1-1/+1
All the other range checks on index already return the proper error, INVALID_VALUE. Fixes gles3conform's instanced_arrays_invalid test. Reviewed-by: Paul Berry <stereotype441@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-11-15glcpp: Don't define macros for extensions that aren't in ESMatt Turner1-28/+31
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-11-15radeonsi: remove new asserts and replace with warningsAlex Deucher1-2/+6
Fixes piglit regressions. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2012-11-15i965/fs: Don't calculate_live_intervals() in opt_algebraic().Kenneth Graunke1-2/+0
There's no point: opt_algebraic() doesn't use any liveness information. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965: Remove duplicate brw_opcodes table in favor of opcode_descs.Kenneth Graunke4-65/+4
brw_optimize.c's brw_opcodes table was a copy of brw_disasm.c's opcode_descs table, but with an additional field: is_arith. Now that I've deleted that, the two are identical. Keep the one in brw_disasm.c. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965/vs: Remove dead vec4_visitor::src_reg_for_float prototype.Kenneth Graunke1-2/+0
No such function exists. src_reg's constructor does that. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965/fs: Remove bblock field of fs_visitor.Kenneth Graunke1-2/+0
All users of basic block analysis simply create their own local variables. Nobody uses the visitor-wide field. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965: Remove brw_instruction_info::is_arith().Kenneth Graunke2-20/+19
Nobody uses it. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965: Remove some dead code optimization passes.Kenneth Graunke1-544/+0
The old brw_remove_grf_to_mrf_moves() pass is obsolete and replaced by fs_visitor::compute_to_mrf(). The old brw_remove_duplicate_mrf_moves() pass is obsolete and replaced by fs_visitor::remove_duplicate_mrf_writes(). The remaining pass, brw_set_dp4_dependency_control(), is currently unused, but could be, so I'm leaving it for now. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965: Remove unused BRW_PACKCOLOR8888 macro.Kenneth Graunke1-4/+0
Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965: Remove brw_shader_program wrapper struct.Kenneth Graunke2-9/+4
At this point, it's just gl_shader_program. Nobody even uses it; even the program that creates them only returns gl_shader_program pointers. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15i965: Remove unused struct brw_vs_ouput_sizes.Kenneth Graunke1-8/+0
With a name like that, it can't be used. Sure enough, it's not. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-11-15util/u_debug: Fix DEBUG_NAMED_VALUE.José Fonseca1-1/+1
"#__symbol" doesn't work with nested macro expansions, at least not on gcc.
2012-11-15draw: fix crashes with out-of-bounds indicesRoland Scheidegger2-6/+9
The passthrough pipeline needs to check index values (which might be passed through) as they can be invalid (which causes crashes and various assertion failures if the clip code runs). Obviously, rendering won't be well-defined, but those bogus indices might come directly from apps. There were already debug printfs which reported the out-of-bounds indices but we really ought to not crash. While checking at that point doesn't seem like the most efficient solution, it seems there isn't really another appropriate function to do it. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-11-15radeonsi: cleanup si_db()Alex Deucher2-12/+12
Clean up a few magic numbers and rework the code a bit. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2012-11-15radeonsi: assert the CB format is valid (v2)Alex Deucher1-2/+3
Assert the the CB format is valid and default to the INVALID hw format rather than ~0U when the format doesn't match for non-debug builds. v2: use INVALID hw format rather than ~0U Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2012-11-15radeonsi: assert that the DB format is valid (v2)Alex Deucher1-8/+5
Assert that the DB format is valid and default to the INVALID hw format rather than ~0U when the format doesn't match for non-debug builds. v2: use INVALID hw format rather than ~0U Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2012-11-15gallium: fix some function comments in p_context.hDmitry Cherkassov1-3/+2
Signed-off-by: Dmitry Cherkassov <dcherkassov@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-11-14build: add missing files to tarballs targetAndreas Boll1-0/+6
fixes errors ./configure and make was complaining about NOTE: This is a candidate for the 9.0 branch. Reviewed-by: Matt Turner <mattst88@gmail.com>
2012-11-14build: add missing Makefile.in files to tarballs targetAndreas Boll1-1/+50
fixes errors ./configure was complaining about NOTE: This is a candidate for the 9.0 branch. Reviewed-by: Matt Turner <mattst88@gmail.com>