aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* mesa: return INVALID_VALUE from WaitSync if timeout != GL_TIMEOUT_IGNOREDMatt Turner2012-11-151-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 <[email protected]>
* mesa: return INVALID_VALUE from WaitSync if flags != 0Matt Turner2012-11-151-1/+1
| | | | | | Fixes gles3conform's sync_error_waitsync_flags test. Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: return INVALID_VALUE from ClientWaitSync if flags contains an ↵Matt Turner2012-11-151-1/+1
| | | | | | | | unsupported flag Fixes gles3conform's sync_error_clientwaitsync_flags test. Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: return INVALID_VALUE from VertexAttribDivisor if index out of rangeMatt Turner2012-11-151-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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glcpp: Don't define macros for extensions that aren't in ESMatt Turner2012-11-151-28/+31
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* radeonsi: remove new asserts and replace with warningsAlex Deucher2012-11-151-2/+6
| | | | | | Fixes piglit regressions. Signed-off-by: Alex Deucher <[email protected]>
* i965/fs: Don't calculate_live_intervals() in opt_algebraic().Kenneth Graunke2012-11-151-2/+0
| | | | | | There's no point: opt_algebraic() doesn't use any liveness information. Reviewed-by: Eric Anholt <[email protected]>
* i965: Remove duplicate brw_opcodes table in favor of opcode_descs.Kenneth Graunke2012-11-154-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 <[email protected]>
* i965/vs: Remove dead vec4_visitor::src_reg_for_float prototype.Kenneth Graunke2012-11-151-2/+0
| | | | | | No such function exists. src_reg's constructor does that. Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Remove bblock field of fs_visitor.Kenneth Graunke2012-11-151-2/+0
| | | | | | | All users of basic block analysis simply create their own local variables. Nobody uses the visitor-wide field. Reviewed-by: Eric Anholt <[email protected]>
* i965: Remove brw_instruction_info::is_arith().Kenneth Graunke2012-11-152-20/+19
| | | | | | Nobody uses it. Reviewed-by: Eric Anholt <[email protected]>
* i965: Remove some dead code optimization passes.Kenneth Graunke2012-11-151-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 <[email protected]>
* i965: Remove unused BRW_PACKCOLOR8888 macro.Kenneth Graunke2012-11-151-4/+0
| | | | Reviewed-by: Eric Anholt <[email protected]>
* i965: Remove brw_shader_program wrapper struct.Kenneth Graunke2012-11-152-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 <[email protected]>
* i965: Remove unused struct brw_vs_ouput_sizes.Kenneth Graunke2012-11-151-8/+0
| | | | | | With a name like that, it can't be used. Sure enough, it's not. Reviewed-by: Eric Anholt <[email protected]>
* util/u_debug: Fix DEBUG_NAMED_VALUE.José Fonseca2012-11-151-1/+1
| | | | "#__symbol" doesn't work with nested macro expansions, at least not on gcc.
* draw: fix crashes with out-of-bounds indicesRoland Scheidegger2012-11-152-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 <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* radeonsi: cleanup si_db()Alex Deucher2012-11-152-12/+12
| | | | | | | | Clean up a few magic numbers and rework the code a bit. Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: assert the CB format is valid (v2)Alex Deucher2012-11-151-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 <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: assert that the DB format is valid (v2)Alex Deucher2012-11-151-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 <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gallium: fix some function comments in p_context.hDmitry Cherkassov2012-11-151-3/+2
| | | | | Signed-off-by: Dmitry Cherkassov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Add .gitignore for hashtable collision unit test.Paul Berry2012-11-141-0/+1
| | | | | This test was introduced in commit 35fd61bd99c15c2e13d3945b41c4db7df6e64319.
* radeonsi: Set STENCILOPVAL fields to 1.Michel Dänzer2012-11-141-2/+4
| | | | | | | | This is necessary for backwards compatibility with pre-SI for stencil. Fixes a number of stencil related piglit tests, and real apps using stencil. Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Bump SI_PM4_MAX_DW.Michel Dänzer2012-11-141-1/+1
| | | | | | | Fixes assertion failure with Mesa demo glsl/samplers. Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* radeonsi: Handle TGSI TXL opcode.Michel Dänzer2012-11-141-0/+7
| | | | | | Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* radeonsi: Handle TGSI TXB opcode.Michel Dänzer2012-11-141-0/+7
| | | | | | Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* mesa: Include compiler.h in hash_table.h.Vinson Lee2012-11-131-2/+4
| | | | | | | Include the header for the inline symbol. MSVC does not have the inline keyword for C. Signed-off-by: Vinson Lee <[email protected]>
* r600g: use LINEAR_ALIGNED tiling for 1D array textures and if height0 <= 3Marek Olšák2012-11-131-1/+3
| | | | Reviewed-by: Alex Deucher <[email protected]>
* auxillary: Append LLVM_CXXFLAGS to CXXFLAGSTom Stellard2012-11-131-0/+1
|
* r300g: don't call buffer_unmap in draw functionsMarek Olšák2012-11-131-11/+0
| | | | It's been a no-op anyway.
* r300g: fix crash since the set_vertex_buffers(start_slot) changeMarek Olšák2012-11-131-6/+7
|
* r600g: untiled window-system buffers should be LINEAR_ALIGNEDMarek Olšák2012-11-131-1/+1
| | | | | | though I guess the DDX allocates them as LINEAR_GENERAL Reviewed-by: Alex Deucher <[email protected]>
* r600g: use LINEAR_ALIGNED tiling for 1D texturesMarek Olšák2012-11-131-1/+2
| | | | Reviewed-by: Alex Deucher <[email protected]>
* r600g: use LINEAR_ALIGNED tiling for staging textures, reorder the codeMarek Olšák2012-11-131-6/+10
| | | | Reviewed-by: Alex Deucher <[email protected]>
* i965/vs: Fix user clip plane setup on Gen4-5.Kenneth Graunke2012-11-131-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | On Gen6-7, we don't compact clip planes, and nr_userclip_plane_consts is the last bit set, so iterating from i = 0..nr_userclip_plane_consts covers all active clip planes and is the right thing to do. works and is the right thing to do. However, that doesn't work at all on Gen4-5. Since we don't compact clip planes, we skip over ones which aren't active (via the continue statement). We also set set nr_userclip_plane_consts to the number of active clip planes, which means that we end the loop after checking that many bits. If the set of clip planes wasn't contiguous, this means we'd fail to find the last few. By changing the iteration to MAX_CLIP_PLANES, we correctly find all of the active clip planes. Fixes regressions since 66c8473e028d (replacing the old VS backend) in Piglit's spec/glsl-1.20/execution/clipping/fixed-clip-enables and oglconform's mustpass(basic.clip) and userclip(basic.allCases). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56791 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Simplify the Gen6-7 part of setup_uniform_clipplane_values().Kenneth Graunke2012-11-131-8/+2
| | | | | | | There's no compaction, so we can drop that code and simply use 'i'. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/vs: Split setup_uniform_clipplane_values() into Gen4-5/6-7 parts.Kenneth Graunke2012-11-131-21/+39
| | | | | | | | | Since Gen4-5 compacts clip planes and Gen6-7 doesn't, it makes sense to split them into separate code paths. This patch simply copies the code to both halves; the next commits will simplify it. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Replace random with standard C rand.Vinson Lee2012-11-121-1/+1
| | | | | | BSD random is not available on some compilers. Signed-off-by: Vinson Lee <[email protected]>
* automake: Remove empty file variable.Brian Paul2012-11-121-2/+1
| | | | | | | | Fixes SCons build regression introduced with commit a665cf1226b80ec52a0c1a4a38378df4389e8ebf. Signed-off-by: Vinson Lee <[email protected]> Tested-by: Vinson Lee <[email protected]>
* mesa: Fix gallium build since 6991c2922fEric Anholt2012-11-121-1/+1
| | | | | | | Looks like I screwed up and didn't test gallium again after tweaking the Makefile. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57044
* mesa: Convert the hash table for GL object ids to the open-addressing hash.Eric Anholt2012-11-122-262/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | The previous 1023-entry chaining hash table never resized, so it was very inefficient when there were many objects live. While one could have an even more efficient implementation than this (keep an array for genned names with packed IDs, or take advantage of the fact that key == hash or key == *(uint32_t *)data to store less data), this is fairly fast, and I want a nice replacement hash table for other parts of Mesa, too. It improves Minecraft performance 12.3% +/- 1.4% (n=9), dropping hash lookups from 8% of the profile to 0.5%. I also tested cairo-gl, which should be a pessimal workload for this hash table: around 247000 FBOs created and destroyed, only around 65 live at any time, and few lookups of them between creation and destruction. No statistically significant performance difference at n=76 (mean 20.3/20.4 seconds, sd 2.8/3.2 seconds). If I remove the >20 seconds outliers that appear to be due to thermal throttling, there's possibly a .97% +/- 0.31% performance win (n=61/59). The choice of cutoff for outliers feels a lot like cooking the data, but I've gone through this process 3 times for minor iterations of the code with the same conclusion each time. Reviewed-by: Brian Paul <[email protected]> Acked-by: Chad Versace <[email protected]> Acked-by: Kenneth Graunke <[email protected]> (v1)
* mesa: Import a copy of the open-addressing hash table code I wrote.Eric Anholt2012-11-1217-0/+1275
| | | | | | | | | | | | | Mesa's chaining hash table for object names is slow, and this should be much faster. I namespaced the functions under _mesa_*, to avoid visibility troubles that we may have had before with hash_table_* functions. v2: Move .c file to main/, const a few things, clean up loop conditions, add/extend some comments. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Chad Versace <[email protected]> Acked-by: Kenneth Graunke <[email protected]> (v1)
* automake: Remove libdricore clip.c workaround lib.Eric Anholt2012-11-121-16/+7
| | | | | | | | sparc/clip.c got moved to sparc/sparc-clip.c to avoid doing this workaround in the parent directory. Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> (v1)
* automake,android: Build program/ into a helper lib (v2)Eric Anholt2012-11-1210-39/+166
| | | | | | | | | | While simplifying mesa/Makefile.am, the more important feature of this commit is allowing a file with the same name to appear in both main/ and program/. v2: [chadv] Add changes to Android makefiles. Reviewed-by: Kenneth Graunke <[email protected]> (v1) Signed-off-by: Chad Versace <[email protected]> (v2)
* android: Moves rules for libmesa_st_mesa to separate makefileChad Versace2012-11-122-49/+63
| | | | | | | | | | | The pair of files src/mesa/Android.mk and src/mesa/Android.gen.mk are too long and complex to be easily understood. This patch belongs to a series that decomposes them into several easily digestible makefiles. This patch move the rules for libmesa_st_mesa.a from Android.mk to Android.libmesa_st_mesa.mk. Signed-off-by: Chad Versace <[email protected]>
* android: Moves rules for libmesa_dricore to separate makefileChad Versace2012-11-122-29/+64
| | | | | | | | | | | The pair of files src/mesa/Android.mk and src/mesa/Android.gen.mk are too long and complex to be easily understood. This patch belongs to a series that decomposes them into several easily digestible makefiles. This patch move the rules for libmesa_dricore.a from Android.mk to Android.libmesa_dricore.mk. Signed-off-by: Chad Versace <[email protected]>
* android: Moves rules for mesa_gen_matypes to separate makefileChad Versace2012-11-122-17/+50
| | | | | | | | | | | The pair of files src/mesa/Android.mk and src/mesa/Android.gen.mk are too long and complex to be easily understood. This patch belongs to a series that decomposes them into several easily digestible makefiles. This patch move the rules for host executable mesa_gen_matypes from Android.mk to Android.mesa_gen_matypes.mk. Signed-off-by: Chad Versace <[email protected]>
* android: Moves rules for libmesa_glsl_utils to separate makefileChad Versace2012-11-122-32/+60
| | | | | | | | | | | The pair of files src/mesa/Android.mk and src/mesa/Android.gen.mk are too long and complex to be easily understood. This patch belongs to a series that decomposes them into several easily digestible makefiles. This patch move the rules for the host and target libmesa_glsl_utils.a from Android.mk to Android.libmesa_glsl_utils.mk. Signed-off-by: Chad Versace <[email protected]>
* automake: Merge *_CXX_FILES variables in the glsl build.Eric Anholt2012-11-125-11/+6
| | | | | Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* automake: Merge per-type *_FILES variables in intel drivers.Eric Anholt2012-11-125-43/+33
| | | | | Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>