summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* intel: Add performance debug for some common GPU stalls.Eric Anholt2012-08-123-1/+19
| | | | | Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Add performance debug for register spilling.Eric Anholt2012-08-122-0/+8
| | | | | Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Add INTEL_DEBUG=perf for failure to compile 16-wide shaders.Eric Anholt2012-08-123-2/+11
| | | | | Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Rename INTEL_DEBUG=fall to INTEL_DEBUG=perf.Eric Anholt2012-08-127-10/+11
| | | | | | | | | I want to introduce some more debug output for performance surprises that includes fallbacks, but aren't necessarily software rasterization. Leave INTEL_DEBUG=fall in place for those that have used that flag before. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* meta: texture rectangle textures may not have mipmapsPauli Nieminen2012-08-121-2/+4
| | | | | | | | | | | | | Avoid INVALID_OPERATION error if decompressing rectangle texture. Setting mipmap level limits for those textures is error that must not be hit by meta code to mislead user. [v3/Kayden]: Resolve conflicts due to Eric picking a subset of Pauli's original changes. Signed-off-by: Pauli Nieminen <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* meta: Use sampler object for mipmap generationPauli Nieminen2012-08-121-25/+27
| | | | | | | | | | | Sampler objects are perfect for meta operations.Sampler object is separate state object that shadows the sampling state in texture object. With sampler object mipmap can maintain same sampling state for all subsequent generation requests. Signed-off-by: Pauli Nieminen <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa/samplerobj: Avoid crash in sampler query if texture unit is disabledPauli Nieminen2012-08-121-1/+3
| | | | | | | | | | | | | Sampler queries are so far made only for enabled texture unit. But if any code would query sampler before checking texture unit state that would result to NULL deference. Making the inline helper easier to use with NULL check makes a lot sense because compiler is likely to combine the checks for the current texture. Signed-off-by: Pauli Nieminen <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Remove unnecessary parameters CompressedTexImagePauli Nieminen2012-08-126-20/+4
| | | | | | | | | In tune with previous patches. Again there is duplication of information in function parameters that is good to remove. Signed-off-by: Pauli Nieminen <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Remove unnecessary parameters from AllocTextureImageBufferPauli Nieminen2012-08-129-56/+29
| | | | | | | | | | Size and format information is always stored in gl_texture_image structure. That makes it preferable to remove duplicate information from parameters to make interface easier to understand. Signed-off-by: Pauli Nieminen <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Remove unnecessary parameters from TexImagePauli Nieminen2012-08-129-88/+33
| | | | | | | | | | | gl_texture_image structure always holds size and internal format before TexImage driver hook is called. Those passing same information in function parameters only duplicates information making the interface harder to understand. Signed-off-by: Pauli Nieminen <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* configure: Check xcb version when X11 pkgconfig existsTom Stellard2012-08-121-0/+1
| | | | | | | | Commit 6882381a2efbdf06b7002d11468c94b9964c2bc8 added a dependency on a newer version of xcb, but the version check wasn't added in all the necessary places. Reviewed-by: Kenneth Graunke <[email protected]>
* gbm: Fix build without gallium_drm_loaderChí-Thanh Christopher Nguyễn2012-08-121-0/+2
| | | | | | | pipe_loader_drm_probe_fd only exists if HAVE_PIPE_LOADER_DRM is defined. Patch improved as suggested by Vadim A. Misbakh-Soloviov. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=52962
* radeonsi: move drawing into new state handlingChristian König2012-08-114-103/+72
| | | | Signed-off-by: Christian König <[email protected]>
* radeonsi: move sync handling into new state handlerChristian König2012-08-1110-172/+100
| | | | | | So we can remove all the old atom handling. Signed-off-by: Christian König <[email protected]>
* radeonsi: separate and disable streamout for nowChristian König2012-08-1110-241/+301
| | | | | | I have my doubts that this code still works on SI. Signed-off-by: Christian König <[email protected]>
* radeonsi: remove ps_partial_flushChristian König2012-08-114-28/+1
| | | | | | Not needed any more. Signed-off-by: Christian König <[email protected]>
* radeonsi: remove r6xx_flush_and_inv atomChristian König2012-08-112-9/+0
| | | | | | It is not used any more. Signed-off-by: Christian König <[email protected]>
* radeonsi: move init state to new state handlingChristian König2012-08-115-22/+6
| | | | Signed-off-by: Christian König <[email protected]>
* radeonsi: add support for PKT3 cmds to new state handlingChristian König2012-08-112-9/+30
| | | | Signed-off-by: Christian König <[email protected]>
* radeonsi: cleanup shader headersChristian König2012-08-116-40/+97
| | | | Signed-off-by: Christian König <[email protected]>
* Revert "mesa: Remove C++11 narrowing warnings"Chad Versace2012-08-101-3/+0
| | | | | | | | | | | | This reverts commit 9f5a5d541d5c1ff2e440791ba8ff44d0233daeb4. Fixes the following build error on GCC 4.2.3: cc1plus: error: unrecognized command line option "-Wno-narrowing" The GCC Manual incorrectly stated that commit 9f5a5d54 woulde be safe for old versions of GCC. Reported-by: Andy Furniss <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* softpipe: fix softpipe_delete_fs_state() failed assertionBrian Paul2012-08-101-2/+4
| | | | | | | | | | | | | The var!=softpipe->fs_variant assertion was failing because we weren't nulling the softpipe->fs_variant pointer when binding a new shader. Since softpipe->fs_variant depends on the current fs, it's of no use when a new FS is bound. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53318 Note: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* cso: rearrange some structure fields for consistencyBrian Paul2012-08-101-2/+3
|
* st/mesa: fix renderbuffer validation bugBrian Paul2012-08-101-0/+6
| | | | | | | | | | | | | | After we attach a new renderbuffer in this function we need to make sure Mesa's update_framebuffer() gets called. Fixes crash in WebGL conformance/textures/texture-attachment-formats.html, but the test still fails for other reasons. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53316 Note: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* mesa: Remove C++11 narrowing warningsChad Versace2012-08-101-0/+3
| | | | | | | | | | | | | | | | | | | Add -Wno-narrowing to CXXFLAGS for gcc. It is safe to add this flag even for versions of gcc that don't recognize it. From the GCC Manual [1]: "[GCC] allows the use of new -Wno- options with old compilers". This removes warnings of the form warning: narrowing conversion of X from 'int' to 'float' inside { } is ill-formed in C++11 [-Wnarrowing] in ff_fragment_shader.cpp and gen6_blorp.cpp of the form. When building i965, I observed no other difference in the build output. [1] http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* gallivm: fix crash in lp_sampler_static_state()Brian Paul2012-08-101-4/+3
| | | | | | | | | | | | Fixes WebGL conformance/uniforms/uniform-default-values.html crash. We need to check for the null view pointer before accessing view->texture. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53317 Note: This is a candidate for the 8.0 branch. Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: fix glCopyTexSubImage crashBrian Paul2012-08-101-1/+9
| | | | | | | | | | | | | | Fixes a WebGL crash. The dest texture image is at level 2 and is of size 1x1 texel. The st texture image is a stand-alone resource, not a pointer into a complete mipmap. So the resource has one level and trying to write to level 2 blows up. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53314 and http://bugs.freedesktop.org/show_bug.cgi?id=53319 Note: This is a candidate for the 8.0 branch. Reviewed-by: Jose Fonseca <[email protected]>
* intel: Always downsample in intel_miptree_map_multisampleChad Versace2012-08-091-3/+0
| | | | | | | | | | | | | Always downsample before mapping, even if the map mode contains GL_MAP_INVALIDATE_RANGE_BIT. If we neglect to downsample when only a subrect is mapped then the upsample in intel_miptree_unmap_multisample may write garbage to the region outside the subrect. (Eric gave my patch e88cfbb a conditional reviewed-by with the condition that it always downsample before mapping. I forgot to make that change before pushing the patch.) Signed-off-by: Chad Versace <[email protected]>
* i965/gen6+: Add support for edge flags.Eric Anholt2012-08-093-6/+51
| | | | | | | Fixes the 3 new piglit edgeflag tests. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40707 Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Convert EdgeFlagPointer values appropriately for the VS on gen4.Eric Anholt2012-08-091-0/+10
| | | | | | | Fixes piglit gl-2.0/edgeflag. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Add comment noting copy_edgeflag state dependency.Eric Anholt2012-08-091-0/+2
| | | | | | It's already in the state struct. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Add support for copying user edge flags.Eric Anholt2012-08-091-2/+11
| | | | | | | | | Fixes the glsl skinning demo regression since changing to the new GLSL compiler, and is part of fixing piglit gl-2.0-edgeflag. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50079 NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Fix the FS inputs setup when some SF outputs aren't used in the FS.Olivier Galibert2012-08-092-2/+25
| | | | | | | | | | | | | If there was an edge flag or a two-side-color pair present, we'd end up mismatched and read values from earlier in the VUE for later FS inputs. v2: Fix regression in gles2conform shaders generating point size. (change by anholt) Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* st/mesa: Initialize tgsi_texture_offset Padding field.Vinson Lee2012-08-081-0/+1
| | | | | | | Fixes uninitialized scalar variable defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* glx/dri: Initialize reset to __DRI_CTX_RESET_NO_NOTIFICATION.Kenneth Graunke2012-08-082-2/+2
| | | | | | | | | | | | | | | | | | | | If the application has requested reset notification, then dri2_convert_glx_attribs will initialize this to the correct value. Otherwise, it's supposed to initialize this to NO_NOTIFICATION, but doesn't when num_attribs == 0. (The consensus seems to be that we should make it do so, but that's more invasive, so I'm pushing this for now.) Fixes a regression since a8724d85f8cb2f0fb73b9c6c1f268f9084c6d473 where trying to run OilRush_x86 or apitrace heaven_x64 would result in: dri_util.c:221: dri2CreateContextAttribs: Assertion `!"Should not get here."' failed. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53076 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* intel: use _mesa_meta_Clear with OpenGL ES 1.1 v2Tapani Pälli2012-08-082-4/+9
| | | | | | | | | | | | | | | Patch changes i915 and i965 drivers to use fixed function version of meta clear when running on ES 1.1. This fixes rendering errors seen with Google Maps, Angry Birds and Gallery3D on Android platform. Change 88128516d43be5d25288ff5b64db63cda83c04b3 exposes all extensions internally to be available independent of GL flavour, therefore check against ARB_fragment_shader does not work. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50333 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Rework the extra flushes surrounding occlusion queries.Kenneth Graunke2012-08-081-7/+4
| | | | | | | | | | | | This removes the CS stall on Ivybridge. On Sandybridge, the depth stall needs to be preceded by a non-zero post-sync op, which requires a CS stall, which needs a stall at scoreboard. Emit the full workaround. Reviewed-by: Daniel Vetter <[email protected]> Cc: Eric Anholt <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]>
* i965/vs: Protect pow(x,y) MOV of y on gen4 from other instruction flags.Eric Anholt2012-08-081-0/+4
| | | | | | | | | I don't know if it was possible to trigger this bug -- we don't merge saturates into the math instruction because we're bad at coalescing currently, and there's nothing generating these with predicates. Still, let's avoid future bugs when we do smarter codegen. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Drop the confusing saturate argument to math instruction setup.Eric Anholt2012-08-088-44/+6
| | | | | | | | | | | | | | | | | | | This was ridiculous. We were ignoring the inst->header.saturate flag in the case of math and only math. On gen4, we would leave inst->header.saturate in place if it happened to be set, which would end up being applied to the implicit mov and thus trash the first argument. On gen6, we would overwrite inst->header.saturate with the saturate flag from the argument, which was not set appropriately in brw_vec4_emit.cpp, and was only not a bug due to our incompetence at coalescing saturate moves. By ripping the argument out and making saturate work just like all the other brw_eu_emit.c code generation, we can avoid both these classes of bugs. Fixes piglit fog-modes, and the new specific fs-saturate-exp2 case. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48628 NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Make brw_set_saturate() use stdbool.Eric Anholt2012-08-082-3/+3
| | | | | | There was a chance for brw_wm_emit.c to screw up and pass (1 << 4) instead of 1, which would get converted to 0 when stored. Instead, use stdbool which converts nonzero to true/1 like we want.
* mesa: In conditional rendering fallback, check the query status.Eric Anholt2012-08-081-0/+2
| | | | | | | | | | | Otherwise, conditional rendering always takes the fallthrough "render it anyway" case unless the application had itself done a check or wait on the query. Fixes intel oglconform's conditional_render advanced.nofbo.readpixels. Reviewed-by: Brian Paul <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* mesa: Fix glPopAttrib() behavior on GL_FRAMEBUFFER_SRGB.Eric Anholt2012-08-081-0/+13
| | | | | | | | | I happened to notice this while looking at a blit pass in l4d2, which had an optional push/pop around framebuffer srgb setting. It didn't matter in the end, but the fix is sitting in my tree now. Reviewed-by: Brian Paul <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* Make shared-glapi the defaultIan Romanick2012-08-081-2/+2
| | | | | | | | | | | You can't practically have desktop OpenGL and OpenGL ES on the same system without this. The benefits of not having it (e.g., a more compact dispatch table) are irrelevant. v2: Don't mark shared-glapi as experimental. Review suggestion by Chad. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* mesa/tests: Fix trivial typos in src/mapi/glapi testsIan Romanick2012-08-081-4/+4
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/tests: Add tests for the generated shared-glapi dispatch tableIan Romanick2012-08-085-0/+492
| | | | | | | | | These are largely based on the src/mapi/glapi/tests. However, shared-glapi provides less external visibility into the dispatch table, so there is less to test. Also, shared-glapi does not implement _glapi_get_proc_name, so that test was removed. Signed-off-by: Ian Romanick <[email protected]>
* glapi: Prevent accidental use of lies w/shared-glapiIan Romanick2012-08-081-0/+6
| | | | Signed-off-by: Ian Romanick <[email protected]>
* glx: Don't use glapitable.h at allIan Romanick2012-08-084-7/+14
| | | | | | | | | | | | When --enable-shared-glapi is used, all non-ABI entries in the table are lies. Avoiding the use of glapitable.h avoids the lies. The only entries used in this code are entries that are ABI. For these, the ABI offset can be used directly. Since this code is in src/glx, it can't use src/mesa/main/dispatch.h to get the pretty names for these offsets. Signed-off-by: Ian Romanick <[email protected]>
* glx: Don't rely on struct _glapi_tableIan Romanick2012-08-083-680/+675
| | | | | | | | | | | | | | | | | | | When --enable-shared-glapi is used, all non-ABI entries in the table are lies. There are two completely separate code generation paths used to assign dispatch offset. Neither has any clue about the other. Unsurprisingly, the can't agree on what offsets to assign. This adds a bunch of overhead to __glXNewIndirectAPI, but this function is called at most once. The test ExtensionNopDispatch was removed. There was just no way to make this test work with the information provided in shared-glapi. Since indirect_glx.c uses _glapi_get_proc_offset now, it was also impossible to make the tests work without shared-glapi. So much pain. This fixes indirect rendering with shared-glapi. Signed-off-by: Ian Romanick <[email protected]>
* mesa/tests: Don't build glapi tests with shared-glapiIan Romanick2012-08-081-0/+2
| | | | | | | This fixes 'make check' on with --enable-shared-glapi. This test cannot work in that environment. Signed-off-by: Ian Romanick <[email protected]>
* i965: Use 64-bit writes for occlusion queries.Kenneth Graunke2012-08-081-2/+3
| | | | | | | | | | | | | | | The hardware seems to use the length of the PIPE_CONTROL command to indicate whether the write is 64-bits or 32-bits. Which makes sense for immediate writes. Daniel discovered this by writing a pattern into the query object bo and noticing that the high 32-bits were left intact, even on those pipe control writes that seemingly worked. Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Reviewed-by: Eric Anholt <[email protected]>