aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* i915: Fix memory leak in do_blit_readpixels.Vinson Lee2013-09-301-0/+1
| | | | | | | Fixes "Resource leak" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* llvmpipe: Remove unnecessary null check of shader.Vinson Lee2013-09-301-1/+1
| | | | | | | | | shader has already been dereferenced earlier so cannot be null here. Fixes "Dereference before null check" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* util/u_format: Assert that format block size is at least 1 byte.Vinson Lee2013-09-301-1/+6
| | | | | | | | | | | The block size for all formats is currently at least 1 byte. Add an assertion for this. This should silence several Coverity "Division or modulo by zero" defects. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* draw: Add a null check for draw.Vinson Lee2013-09-301-1/+1
| | | | | | | | | | There is an earlier null check for draw so draw could be null here as well. Fixes "Dereference after null check" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* st/vdpau: Include u_surface.h for u_copy_rect.Vinson Lee2013-09-302-0/+2
| | | | | | | | | | | | | | Fix build errors. CC surface.lo surface.c: In function 'vlVdpVideoSurfaceGetBitsYCbCr': surface.c:247:10: error: implicit declaration of function 'util_copy_rect' [-Werror=implicit-function-declaration] CC output.lo output.c: In function 'vlVdpOutputSurfaceGetBitsNative': output.c:216:4: error: implicit declaration of function 'util_copy_rect' [-Werror=implicit-function-declaration] Signed-off-by: Vinson Lee <[email protected]>
* st/vdpau: Include u_format.h for util_format_description.Vinson Lee2013-09-301-0/+1
| | | | | | | | | | | | | | | | | Fix build error. CC device.lo device.c: In function 'vlVdpDefaultSamplerViewTemplate': device.c:251:4: error: implicit declaration of function 'util_format_description' [-Werror=implicit-function-declaration] device.c:251:9: warning: assignment makes pointer from integer without a cast [enabled by default] device.c:252:12: error: dereferencing pointer to incomplete type device.c:252:28: error: 'UTIL_FORMAT_SWIZZLE_0' undeclared (first use in this function) device.c:252:28: note: each undeclared identifier is reported only once for each function it appears in device.c:254:12: error: dereferencing pointer to incomplete type device.c:256:12: error: dereferencing pointer to incomplete type device.c:258:12: error: dereferencing pointer to incomplete type Signed-off-by: Vinson Lee <[email protected]>
* st/xvmc: Include u_surface.h for u_copy_rect.Vinson Lee2013-09-301-0/+1
| | | | | | | | | | | | | | | This patch fixes the build error introduced with commit 81bb98e928861260170c16f5c3e0d80492251d6b. CC subpicture.lo subpicture.c: In function 'upload_sampler': subpicture.c:181:4: error: implicit declaration of function 'util_copy_rect' [-Werror=implicit-function-declaration] subpicture.c: In function 'XvMCClearSubpicture': subpicture.c:304:21: error: storage size of 'uc' isn't known subpicture.c:328:4: error: implicit declaration of function 'util_fill_rect' [-Werror=implicit-function-declaration] subpicture.c:304:21: warning: unused variable 'uc' [-Wunused-variable] Signed-off-by: Vinson Lee <[email protected]>
* st/egl: include u_format.h for util_format_get_blocksize()Brian Paul2013-09-301-0/+1
|
* svga: fix pixel center integerBrian Paul2013-09-301-2/+4
| | | | | | | The svga/d3d9 convention is that pixel centers are at integer coordinates. Fixes piglit glsl-arb-fragment-coord-conventions test. Reviewed-by: José Fonseca <[email protected]>
* svga: return 0 for PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFERBrian Paul2013-09-301-1/+1
| | | | | | | | | Using the map/unmap path for glTexImage is a little bit faster than blitting. Also, this fixes about 50 assorted piglit failures that seem to be related to the blit version of glReadPixels. Reviewed-by: Thomas Hellstrom <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* svga: we don't support TGSI_OPCODE_CONTBrian Paul2013-09-302-2/+5
| | | | So return PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED = 0.
* gallium: include u_surface.h instead of u_rect.hBrian Paul2013-09-304-9/+3
| | | | | | | | u_rect.h was including u_surface.h just to avoid touching a bunch of other source files after some functions were moved from u_rect.h to u_surface.h. This patch cleans up that hack. Reviewed-by: Roland Scheidegger <[email protected]>
* i965: Reenable glBitmap() after the sRGB winsys enabling.Eric Anholt2013-09-301-1/+2
| | | | | | | | | The format of the window system framebuffer changed from ARGB8888 to SARGB8, but we're still supposed to render to it the same as ARGB8888 unless the user flipped the GL_FRAMEBUFFER_SRGB switch. Reviewed-by: Kenneth Graunke <[email protected]> NOTE: This is a candidate for stable branches.
* mesa: Remove all traces of GL_OES_matrix_getIan Romanick2013-09-303-12/+0
| | | | | | | | | | | | | I believe this extension was enabled by accident. As far as I can tell, there has never been any code in Mesa to actually support it. Not only that, this extension is only useful in the common-lite profile, and Mesa does the common profile. This "fixes" the piglit test oes_matrix_get-api. Signed-off-by: Ian Romanick <[email protected]> Cc: "9.1 9.2" <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* Use -Bsymbolic when linking libEGL.soCarl Worth2013-09-301-1/+1
| | | | | | | | | | | | | | | | | | | For some reason that I don't yet fully understand, Glaze does not work with libEGL unless libEGL is linked with -Bsymbolic.[*] Beyond that specific reason, all of the reasons for which libGL.so is linked with -Bsymbolic, (see the commit history), should also apply here. [*] The specific behavior I am seeing is that when Glaze calls dlopen for libEGL.so, ifunc resolvers within Glaze for EGL functions are called before the dlopen returns. These resolvers cannot succeed, as they need the return value from dlopen in order to find the functions to resolve to. I don't know what's causing these resolvers to be called, but I have verified that linking libEGL with -Bsymbolic causes this problematic behavior to stop. CC: "9.1 and 9.2" <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* i965/blorp: retype destination register for texture SEND instruction to UW.Paul Berry2013-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From the bspec documentation of the SEND instruction: "destination region cannot cross the 256-bit register boundary." To avoid violating this restriction when executing SIMD16 texturing operations (such as those used by blorp), we need to ensure that the destination of the SEND instruction doesn't exceed 256 bits in size. An easy way to do this is to set the type of the destination register to UW (unsigned word), since 16 unsigned words can fit inside a 256-bit register. Fortunately, this has no effect on the sampling operation, since the sampler always infers the destination data type from the sampler message rather than from the type of the instruction operand. Previously, we did this for texturing operations issued by the vec4 and fs back-ends, but not for blorp. This patch makes blorp use the same trick. I haven't observed any behavioural difference on actual hardware due to this patch, but it avoids a warning from the simulator so it seems like the right thing to do. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Acked-by: Chad Versace <[email protected]>
* i965: Add a real native TexStorage path.Eric Anholt2013-09-301-0/+63
| | | | | | | | | | | | We originally had a path just did the loop and called ctx->Driver.AllocTextureImageBuffer(), which I moved into Mesa core. But we can do better, avoiding incorrect miptree size guesses and later texture validations by just directly allocating the miptree and setting it to all the images. v2: drop debug printf. Reviewed-by: Chad Versace <[email protected]>
* i965: Add missing license to intel_tex_validate.c.Eric Anholt2013-09-301-0/+23
| | | | | | I've rewritten a lot of this file. Reviewed-by: Chad Versace <[email protected]>
* i965: Always allocate validated miptrees from level 0.Eric Anholt2013-09-301-6/+5
| | | | | | | No change in copies during a piglit run, but it's one less first_level != 0 in our codebase. Reviewed-by: Chad Versace <[email protected]>
* i965: Don't relayout a texture just for baselevel changes.Eric Anholt2013-09-302-24/+39
| | | | | | | | | | | | As long as the baselevel, maxlevel still sit inside the range we had previously validated, there's no need to reallocate the texture. I also hope this makes our texture validation logic much more obvious. It's taken me enough tries to write this change, that's for sure. Reduces miptree copy count on a piglit run by 1.3%, though the change in amount of data moved is much smaller. Reviewed-by: Chad Versace <[email protected]>
* i965: Don't allocate a 1-level texture when GL_GENERATE_MIPMAP is set.Eric Anholt2013-09-301-1/+2
| | | | | | | | | | Given that a teximage that calls us with this flag set will immediately proceed to allocate the other levels, we can probably just go ahead and allocate those levels now. Reduces miptree copies in piglit by about .05%. Reviewed-by: Chad Versace <[email protected]>
* i965: Stop allocating miptrees with first_level != 0.Eric Anholt2013-09-301-17/+6
| | | | | | | | | | | | If the caller shows up with GL_BASE_LEVEL != 0, it doesn't mean that the texture will over the course of its lifetime have that nonzero baselevel, it means that the caller is filling the texture from the bottom up for some reason (one could imagine demand-loading detailed texture layers at runtime, for example). If we allocate from just the current baselevel, it means when they come along with the next level up, we'll have to allocate a new miptree and copy all of our bits out of the first miptree. Reviewed-by: Chad Versace <[email protected]>
* i965: Drop a special case for guessing small miptree levels.Eric Anholt2013-09-301-43/+30
| | | | | | | | | | | | | | | | Let's say you started allocating your 2D texture with level 2 of a tree as a 1x1 image. The driver doesn't know if this means that level 0 is 4x4 or 4x1 or 1x4, so we would just allocate a single 1x1 and let it get copied in to the real location at texture validate time later. Since this is just a temporary allocation that *will* get copied, the extra space allocation of just taking the normal path which will happen to producing a 4x1 level 0, 2x1 level 1, and 1x1 level 2 is the right way to go, to reduce complexity in the normal case. No change in miptree copies over the course of a piglit run. Reviewed-by: Chad Versace <[email protected]>
* i965: Totally switch around how we handle nonzero baselevel-first_level.Eric Anholt2013-09-304-19/+12
| | | | | | | | | | | | | | | | | | | This has no effect currently, because intel_finalize_mipmap_tree() always makes mt->first_level == tObj->BaseLevel. The change I made before to handle it (b1080cfbdb0a084122fcd662cd27b4748c5598fd) got very close to working, but after fixing some unrelated bugs in the series, it still left tex-miplevel-selection producing errors when testing textureLod(). The problem is that for explicit LODs, the sampler's LOD clamping is ignored, and only the surface's MIP clamping is respected. So we need to use surface mip clamping, which applies on top of the sampler's mip clamping, so the sampler change gets backed out. Now actually tested with a non-regressing series producing a non-zero computed baselevel. Reviewed-by: Chad Versace <[email protected]>
* i965: Always look up from the object's mt when setting up texturing state.Eric Anholt2013-09-302-5/+2
| | | | | | | | | | | We know that the object's mt is equal to the firstimage's mt because it's gone through intel_finalize_mipmap_tree(). Saves a lookup of firstimage on pre-gen7. v2: Merge in the warning fix that appeared later in the series (noted by Chad) Reviewed-by: Chad Versace <[email protected]>
* r600g/sb: Move variable dereference after null check.Vinson Lee2013-09-301-1/+2
| | | | | | | Fixes "Deference before null check" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Vadim Girlin <[email protected]>
* st/mesa: fix comment typoBrian Paul2013-09-301-1/+1
|
* r600g,radeonsi: workaround for late shared screen initializationMarek Olšák2013-09-302-1/+5
| | | | Accidentally broken by the consolidation.
* r600g: Fix build failure introduced with r600_texture.c consolidationLaurent Carlier2013-09-291-4/+4
| | | | | | It seems that case with opencl enabled was forgotten Signed-off-by: Marek Olšák <[email protected]>
* radeon: make texture logging more usefulMarek Olšák2013-09-295-26/+23
| | | | | | | This has been very useful for tracking down bugs in libdrm. The *_PRINT_TEXDEPTH environment variables were probably never used, so I removed them.
* r600g,radeonsi: share r600_texture.cMarek Olšák2013-09-2918-1228/+367
| | | | | | | | | The function r600_choose_tiling is new and needs a review. The only change in functionality is that it enables 2D tiling for compressed textures on SI. It was probably accidentally turned off. v2: don't make scanout buffers linear
* r600g: remove compute_global_transfer_* calls from texture_transfer_map/unmapMarek Olšák2013-09-291-9/+0
| | | | Textures can never have target==PIPE_BUFFER.
* r600g: move the low-level buffer functions for multiple rings to drivers/radeonMarek Olšák2013-09-2911-88/+87
| | | | Also slightly optimize r600_buffer_map_sync_with_rings.
* r600g,radeonsi: consolidate tiling_info initializationMarek Olšák2013-09-2912-217/+148
| | | | and the util_format_s3tc_init calls too.
* radeonsi: implement clear_buffer using CP DMA, initialize CMASK with itMarek Olšák2013-09-294-19/+108
| | | | | | | | More work needs to be done for this to be entirely shared with r600g. I'm just trying to share r600_texture.c now. The reason I put the implementation to si_descriptors.c is that the emit function had already been there.
* r600g: move aux_context and r600_screen_clear_buffer to drivers/radeonMarek Olšák2013-09-296-66/+74
| | | | This will be used in the next commit.
* radeonsi: move debug options to R600_DEBUGMarek Olšák2013-09-296-38/+41
|
* r600g: move some debug options to drivers/radeonMarek Olšák2013-09-2910-52/+61
|
* r600g,radeonsi: share the async dma interfaceMarek Olšák2013-09-298-51/+61
| | | | r600_texture.c is one step closer to r600g.
* radeonsi: move radeonsi-specific functions out of r600_texture.cMarek Olšák2013-09-294-46/+38
|
* r600g,radeonsi: remove unused codeMarek Olšák2013-09-292-4/+0
|
* r600g: move r600g-specific functions out of r600_texture.cMarek Olšák2013-09-294-467/+461
|
* r600g,radeonsi: consolidate r600_texture structuresMarek Olšák2013-09-293-42/+26
|
* r600g: get rid of r600_texture::is_ratMarek Olšák2013-09-292-8/+1
| | | | It's always 0.
* r600g: get rid of r600_texture::array_modeMarek Olšák2013-09-293-25/+4
|
* r600g,radeonsi: consolidate transfer, cmask, and fmask structuresMarek Olšák2013-09-299-127/+94
|
* radeon drivers: handle PIPE_CAP_MAX_VIEWPORTSMarek Olšák2013-09-293-0/+9
|
* radeon/llvm: fix TGSI_OPCODE_UCMPMarek Olšák2013-09-291-3/+7
| | | | | | | This doesn't fix any known issue (I haven't run piglit with this yet), but the code was obviously completely wrong. It looks like copy-pasted from CMP. Reviewed-by: Tom Stellard <[email protected]>
* st/mesa: fix GLSL mix(.., .., bvecN)Marek Olšák2013-09-291-1/+8
| | | | v2: use CMP on drivers without native integer support
* mesa: Include stdint.h in mtypes.h for uint32_t symbol.Vinson Lee2013-09-261-0/+2
| | | | | | | | | | | | | This patch fixes the MSVC build error introduced with commit b2e327e08f8519da131dd382adcc99240d433404. api_arrayelt.c src\mesa\main/mtypes.h(1809) : error C2061: syntax error : identifier 'uint32_t' src\mesa\main/mtypes.h(1810) : error C2059: syntax error : '}' src\mesa\main/mtypes.h(1825) : error C2079: 'Minimum' uses undefined union 'gl_perf_monitor_counter_value' src\mesa\main/mtypes.h(1828) : error C2079: 'Maximum' uses undefined union 'gl_perf_monitor_counter_value' Signed-off-by: Vinson Lee <[email protected]>