summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: include stdio.h where neededBrian Paul2015-03-0522-2/+25
| | | | | | | Instead of relying on glapi.h or some other header to provide it. Acked-by: Matt Turner <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* mesa: include c11/threads.h in mtypes.hBrian Paul2015-03-051-0/+1
| | | | | | | | Let's directly include c11/threads.h instead of relying on glapi.h to provide it. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* meta: Fix the y offset for 1D_ARRAY in _mesa_meta_pbo_TexSubImageNeil Roberts2015-03-051-0/+8
| | | | | | | | | The yoffset needs to be interpreted as a slice offset for 1D array textures. This patch implements that by moving the yoffset into zoffset similar to how it moves the height into depth. Reviewed-by: Jason Ekstrand <[email protected]> Cc: "10.5" <[email protected]>
* meta: Allow GL_UN/PACK_IMAGE_HEIGHT in _mesa_meta_pbo_Get/TexSubImageNeil Roberts2015-03-051-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that a layered source PBO is interpreted as a single tall 2D image it's quite easy to accept the image height packing option by just creating an image that is tall enough to include the image padding. I'm not sure whether the image height property should affect 1D_ARRAY textures. My intuition and interpretation of the GL spec (which is a bit vague) would be that it shouldn't. However the software fallback path in Mesa uses the property for packing but not for unpacking. The binary NVidia driver uses it for both. This patch doesn't use it for either case so it is different from the software fallback. There is some discussion about this here: http://lists.freedesktop.org/archives/mesa-dev/2015-February/077925.html This is tested by the texsubimage Piglit test with the array and pbo arguments. Previously this test was skipping this code path because it always sets the image height. I've also tested it by modifying the getteximage-targets test. It wasn't using this code path before because it was using the default texture object so this code couldn't successfully create a frame buffer. I also modified it to add some image padding with the image height in the PBO. Reviewed-by: Jason Ekstrand <[email protected]> Cc: "10.5" <[email protected]>
* Revert "common: Fix PBOs for 1D_ARRAY."Neil Roberts2015-03-051-36/+26
| | | | | | | | | | | | | | | | | | This reverts commit 546aba143d13ba3f993ead4cc30b2404abfc0202. I think the changes to the calls to glBlitFramebuffer from this patch are no different to what it was doing previously because it used to set height to 1 before doing the blits. However it was introducing some problems with the blit for layer 0 because this was no longer special cased. It didn't fix problems with the yoffset which needs to be interpreted as a slice offset. I think a better solution would be to modify the original if statement to cope with the yoffset. Conflicts: src/mesa/drivers/common/meta_tex_subimage.c Cc: "10.5" <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* glsl: Fix GCC unused-variable warning in release build.Vinson Lee2015-03-041-3/+1
| | | | | | | | | | | CXX ast_array_index.lo ast_array_index.cpp: In function ‘void update_max_array_access(ir_rvalue*, int, YYLTYPE*, _mesa_glsl_parse_state*)’: ast_array_index.cpp:86:30: warning: unused variable ‘interface_type’ [-Wunused-variable] const glsl_type *interface_type = ^ Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* ilo: improve WA handling in rectlist pathChia-I Wu2015-03-044-38/+60
| | | | | | Add wrappers for 3DPRIMITIVE to make sure we clear current_pipe_control_dw1 and deferred_pipe_control_dw1 after it. Add missing gen7_wa_post_ps_and_later().
* ilo: clean up Gen7.5 WAsChia-I Wu2015-03-042-51/+43
| | | | | | | | | | | | These WAs gen7_wa_post_3dstate_push_constant_alloc_ps() gen7_wa_pre_vs() gen7_wa_pre_3dstate_sf_depth_bias() first half of gen7_wa_pre_depth() gen7_wa_post_ps_and_later() are Gen7-specific. Update copy-and-pasted gen8_wa_pre_depth() also.
* clover: Fix build since llvm r231270Tom Stellard2015-03-041-1/+1
|
* ilo: add ILO_DEBUG=hangChia-I Wu2015-03-055-4/+45
| | | | When set, detect and dump the hanging batch bufffer.
* ilo: add some more winsys functionsChia-I Wu2015-03-042-2/+66
| | | | | | Add intel_winsys_get_reset_stats(), intel_winsys_import_userptr(), and intel_bo_map_async(). The latter two are stubs, but we are not going to use them immediately either.
* i965/fs: Don't propagate cmod to inst with different type.Matt Turner2015-03-042-0/+38
| | | | | | Cc: 10.5 <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89317 Reviewed-by: Kenneth Graunke <[email protected]>
* r300g: Check return value of snprintf().Matt Turner2015-03-041-1/+6
| | | | | | | | Would have at least prevented the crash the previous patch fixed. Cc: 10.4, 10.5 <[email protected]> Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=540970 Reviewed-by: Tom Stellard <[email protected]>
* r300g: Use PATH_MAX instead of limiting ourselves to 100 chars.Matt Turner2015-03-041-3/+3
| | | | | | | | | | When built with Gentoo's package manager, the Mesa source directory exists seven directories deep. The path to the .test file is too long and is silently truncated, leading to a crash. Just use PATH_MAX. Cc: 10.4, 10.5 <[email protected]> Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=540970 Reviewed-by: Tom Stellard <[email protected]>
* glx/tests: add -I src/ to fix make checkBrian Paul2015-03-041-0/+1
| | | | Reviewed-by: Ian Romanick <[email protected]>
* i965: Fix uint64_t overflow in intel_client_wait_sync()Kristian Høgsberg2015-03-041-0/+8
| | | | | | | | | | | | DRM_IOCTL_I915_GEM_WAIT takes an int64_t for the timeout value but GL_ARB_sync takes an uint64_t. Further, the ioctl used to wait indefinitely when passed a negative timeout, but it's been broken and now returns immediately in that case. Thus, if an application passes UINT64_MAX to wait forever, we overflow to -1LL and return immediately. Work around this mess by clamping the wait timeout to INT64_MAX. Signed-off-by: Kristian Høgsberg <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* egl: Take alpha bits into account when selecting GBM formatsDaniel Stone2015-03-041-5/+11
| | | | | | | | | | | | This fixes piglit when using PIGLIT_PLATFORM=gbm Tom Stellard: - Fix ARGB2101010 format Cc: "10.4 10.5" <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* freedreno/ir3: fix old compiler after f6b2e8af742Rob Clark2015-03-041-0/+1
| | | | | | | If first_driver_param is left as zero (calloc'd struct), the result is c0 getting clobbered. Signed-off-by: Rob Clark <[email protected]>
* gallivm: init MM = NULL to silence warningBrian Paul2015-03-041-1/+1
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* mapi: remove u_compiler.hBrian Paul2015-03-049-16/+10
| | | | | | Just include c99_compat.h or util/macros.h where needed. Reviewed-by: Jose Fonseca <[email protected]>
* mapi: use util/macros.h instead of locally defined macrosBrian Paul2015-03-042-21/+2
| | | | | | The next step is to get rid of u_compiler.h completely. Reviewed-by: Jose Fonseca <[email protected]>
* mapi: replace INLINE with inlineBrian Paul2015-03-045-17/+11
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* mesa: consolidate PUBLIC macro definitionBrian Paul2015-03-043-32/+23
| | | | | | | Define the macro in src/util/macros.h rather than in two different places. Note that USED isn't actually used anywhere at this time. Reviewed-by: Jose Fonseca <[email protected]>
* st/xlib: include p_compiler.h to get PUBLIC definitionBrian Paul2015-03-041-0/+1
| | | | | | To prevent build break with following changes. Reviewed-by: Jose Fonseca <[email protected]>
* mapi: remove unneeded ARRAY_SIZE #defineBrian Paul2015-03-043-1/+3
| | | | | | include util/macros.h instead. Reviewed-by: Jose Fonseca <[email protected]>
* glx: use ARRAY_SIZE from macros.hBrian Paul2015-03-043-1/+3
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* scons: Update for the fact that we require GCC 4.2Jose Fonseca2015-03-041-15/+10
| | | | Reviewed-by: Brian Paul <[email protected]>
* svga: Set MSVC2013 compat flags.Jose Fonseca2015-03-042-1/+4
| | | | Reviewed-by: Brian Paul <[email protected]>
* softpipe,trace: Set MSVC 2008 compat flags.Jose Fonseca2015-03-044-2/+7
| | | | | | Although we don't deploy these, we need to use them for debugging. Reviewed-by: Brian Paul <[email protected]>
* scons: Use -Werror MSVC compatibility flags per-directory.Jose Fonseca2015-03-049-7/+38
| | | | | | Matching what we already do with autotools builds. Reviewed-by: Brian Paul <[email protected]>
* st/vega: Remove.Jose Fonseca2015-03-0481-22104/+3
| | | | | | | | | | | | | OpenVG API seems to have dwindled away. The code would still be interesting if we wanted to implement NV_path_rendering but given the trend of the next gen graphics APIs, it seems unlikely that this becomes ARB or core. v2: Remove a few "openvg" references left, per Emil Velikov. Reviewed-by: Emil Velikov <[email protected]> v3: Update release notes.
* st/egl: Remove.Jose Fonseca2015-03-0463-12965/+12
| | | | | | | | | | | | | | | | | | Largely superseeded by src/egl, and WGL/GLX_EXT_create_context_es_profile extensions. Note this will break Android.mk with gallium drivers -- somebody familiar with that build infrastructure will need to update it to use gallium drivers through egl_dri2. v2: Remove the _EGL_BUILT_IN_DRIVER_GALLIUM define from src/egl/main/Android.mk; and update the src/egl/main/Sconscript to create a SharedLibrary, add versioning, create symlink - copy the bits from egl-static, per Emil Velikov. Reviewed-by: Emil Velikov <[email protected]> v3: Disallow undefined symbols in libEGL.so. Update release notes
* windows/gdi: Remove.Jose Fonseca2015-03-0412-2127/+7
| | | | | | | | | | | | This classic driver is so far behind Gallium softpipe/llvmpipe based one, that's hard to imagine ever being useful. v2: Drop drivers/windows from src/mesa/Makefile.am:EXTRA_DIST per Emil Velikov. Reviewed-by: Emil Velikov <[email protected]> v3: Update release notes.
* nir: Use helper macros for dealing with VLAs.Jose Fonseca2015-03-044-24/+69
| | | | | | | | | | v2: - Single statement, by using memset return value as suggested by Ian Romanick. - No internal declaration, as suggested by Jason Ekstrand. - Move macros to a header. Reviewed-by: Jason Ekstrand <[email protected]>
* gallium/auxiliary/indices: fix start paramMarc-Andre Lureau2015-03-041-4/+4
| | | | | | | | | | | Since commit 28f3f8d, indices generator take a start parameter. However, some index values have been left to start at 0. This fixes the glean/fbo test with the virgl driver, and copytexsubimage with freedreno. Reviewed-by: Ilia Mirkin <[email protected]> Cc: "10.4 10.5" <[email protected]>
* scons: Define _DEFAULT_SOURCE.Vinson Lee2015-03-031-0/+1
| | | | | | | | | | | Fix GCC cpp warnings with glibc >= 2.19. /usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" ^ Signed-off-by: Vinson Lee <[email protected]> Acked-by: Emil Velikov <[email protected]>
* intel: fix EGLImage renderbuffer _BaseFormatFrank Henigman2015-03-032-3/+2
| | | | | | | | | | Correctly set _BaseFormat field when creating a gl_renderbuffer with EGLImage storage. Change-Id: I8c9f7302d18b617f54fa68304d8ffee087ed8a77 Signed-off-by: Frank Henigman <[email protected]> Reviewed-by: Stéphane Marchesin <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* freedreno/a4xx: re-enable int (conditional on glsl130)Rob Clark2015-03-031-1/+1
| | | | | | | | Re-enable integer, now that we can handle flat varyings. Still, ofc, conditional on FD_MESA_DEBUG=glsl130, until we can deprecate _old compiler.. Signed-off-by: Rob Clark <[email protected]>
* freedreno/ir3: handle flat bypass for a4xxRob Clark2015-03-038-5/+99
| | | | | | | | | | | We may not need this for later a4xx patchlevels, but we do at least need this for patchlevel 0. Bypass bary.f for fetching varyings when flat shading is needed (rather than configure via cmdstream). This requires a special dummy bary.f w/ (ei) flag to signal to scheduler when all varyings are consumed. And requires shader variants based on rasterizer flatshade state to handle TGSI_INTERPOLATE_COLOR. Signed-off-by: Rob Clark <[email protected]>
* freedreno/ir3: add support for memory (cat6) instructionsRob Clark2015-03-033-4/+8
| | | | | | | Scheduled basically the same as texture (cat5) instructions, using (sy) flag for synchronization. Signed-off-by: Rob Clark <[email protected]>
* freedreno/ir3: fix up cat6 instruction encodingsRob Clark2015-03-033-139/+121
| | | | | | | I think there is at least one more sub-encoding, but these two should be enough to cover the common load/store instructions. Signed-off-by: Rob Clark <[email protected]>
* tgsi/lowering: don't forget interp for BCOLOR inputsRob Clark2015-03-031-3/+7
| | | | | | | | To lower two sided color, tgsi_lowering creates additional BCOLOR inputs (matching up to the BCOLOR outputs on the vert shader). These inputs should copy the interpolation state of their matching COLOR input. Signed-off-by: Rob Clark <[email protected]>
* freedreno/a3xx,a4xx: silence some warningsRob Clark2015-03-032-5/+2
| | | | | | | | | | | | | | fd3_emit.c: In function ‘fd3_emit_vertex_bufs’: fd3_emit.c:377:11: warning: unused variable ‘semantic’ [-Wunused-variable] uint8_t semantic = sem2name(vp->inputs[i].semantic); and fd4_emit.c: In function ‘fd4_emit_vertex_bufs’: fd4_emit.c:304:11: warning: unused variable ‘semantic’ [-Wunused-variable] uint8_t semantic = sem2name(vp->inputs[i].semantic); Signed-off-by: Rob Clark <[email protected]>
* c99_alloca.h: add case for __sunBrian Paul2015-03-031-0/+4
| | | | Reviewed-by: Alan Coopersmith <[email protected]>
* configure: Leverage gcc warn options to enable safe use of C99 features ↵Jose Fonseca2015-03-0311-12/+51
| | | | | | | | | | | | | | | | | | | | | | | where possible. The main objective of this change is to enable Linux developers to use more of C99 throughout Mesa, with confidence that the portions that need to be built with MSVC -- and only those portions --, stay portable. This is achieved by using the appropriate -Werror= options only on the places they need to be used. Unfortunately we still need MSVC 2008 on a few portions of the code (namely llvmpipe and its dependencies). I hope to eventually eliminate this so that we can use C99 everywhere, but there are technical/logistic challenges (specifically, newer Windows SDKs no longer bundle MSVC, instead require a full installation of Visual Studio, and that has hindered adoption of newer MSVC versions on our build processes.) Thankfully we have more directy control over our OpenGL driver, which is why we're now able to migrate to MSVC 2013 for most of the tree. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Fix assertion in brw_reg_type_lettersBen Widawsky2015-03-021-1/+1
| | | | | | | | | | | | | | | | | While using various debugging features (optimization debug, instruction dumping, etc) this function is called in order to get a readable letter for the type of unit. On GEN8, two new units were added, the Qword and the Unsigned Qword (Q, and UQ respectively). The existing assertion tries to determine that the argument passed in is within the correct boundary, however, it was using UQ as the upper limit instead of Q. To my knowledge you can only hit this case with the branch I am currently working on, so it doesn't fix any known issues. Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* i965: Rename some PIPE_CONTROL flagsBen Widawsky2015-03-025-14/+14
| | | | | | | | | | | | | | I'm not really sure of the origins of the existing flag names. Modern docs have some slightly different names. Having the correct names makes it easier to determine if existing PIPE_CONTROL flag settings are correct, as well as making adding new PIPE_CONTROLs easier. This originally came up while I was trying to implement workarounds and spotted some things called, "flush" which should have been called "invalidate." Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Don't use backend_visitor::instructions after creating the CFG.Matt Turner2015-03-021-10/+0
| | | | | | | | | | | | | | | | | | | | This is a fix for a regression introduced in commit a9f8296d ("i965/fs: Preserve the CFG in a few more places."). The errata this code works around is described in a comment before the function: "[DevBW, DevCL] Errata: A destination register from a send can not be used as a destination register until after it has been sourced by an instruction with a different destination register. The framebuffer write's sources must be in message registers, which SEND instructions cannot have as a destination. There's no way for this errata to affect anything at the end of the program. Just remove the code. Cc: 10.4, 10.5 <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84613 Reviewed-by: Kenneth Graunke <[email protected]>
* main/base_tex_format: Properly handle STENCIL_INDEX1/4/16Jason Ekstrand2015-03-021-0/+3
| | | | | | | | This takes "fbo-stencil blit GL_STENCIL_INDEX1/4/16" from crash to pass on BDW. Cc: 10.5 <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* meta/TexSubImage: Stash everything other than PIXEL_TRANSFER/store in meta_beginJason Ekstrand2015-03-021-4/+4
| | | | | | | | | | | Previously, there were bugs where if the app set a scissor it could affect the area of the texture that was downloaded. There was also potential that the framebuffer SRGB state could affect downloads. This ensures that those will get saved/restored and can't affect the texture download. Cc: 10.5 <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89292 Reviewed-by: Neil Roberts <[email protected]>