summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* anv: factor out the X11/XCB buildEmil Velikov2016-05-013-6/+23
| | | | | | | | | | | Similar to earlier commit - move all the common bits into a single place, thus improving readability and allowing us to see what's missing. Also don't forget to add the missing bits. This commit should allows us to build wayland only vulkan ;-) Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: kill of custom define HAVE_WAYLAND_PLATFORMEmil Velikov2016-05-013-5/+4
| | | | | | | Vulkan API already has equivalent, so simplify things as just use it. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: refactor wayland build handlingEmil Velikov2016-05-011-15/+12
| | | | | | | | | | | Rather than having things split out in multiple places, consolidate it and add all the missing bits. Also ensure that we use the already built static library libwayland-drm.la. v2 Add missing '\' in the CFLAGS. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]> (v1)
* automake: include vulkan subdir after wayland-drmEmil Velikov2016-05-011-5/+5
| | | | | | We'll reuse the existing wayland-drm static library with next commit. Signed-off-by: Emil Velikov <[email protected]>
* anv: use a common variable to manage the library dependenciesEmil Velikov2016-05-011-11/+15
| | | | | Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: use the GENERATED_FILES variableEmil Velikov2016-05-012-2/+1
| | | | | | | | | | | ... rather than having duplicates files through the sources lists. Splitting things as is, has the side effect of making things clearer and easing a potential android build. The latter of which automatically adds BUILT_SOURCES to the binary. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: fold the tests' makefileEmil Velikov2016-05-013-50/+15
| | | | | | | | | Recent commit removed the winsys defines from anv_private.h thus breaking the tests. To fix that and avoid it in the future, merge the tests makefile in the libvulkan one. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: build the core vulkan only onceEmil Velikov2016-05-011-8/+6
| | | | | | | | Introduce a static library libvulkan_common.la that is used by libvukan_intel.la and libvulkan_test.la. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: kill off custom CFLAGSEmil Velikov2016-05-011-10/+6
| | | | | | | AM_CFLAGS already does all that we need. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: add missing link against the math libraryEmil Velikov2016-05-011-1/+2
| | | | | Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: split sources lists to Makefile.sourcesEmil Velikov2016-05-012-61/+111
| | | | | | | | Will allow others to reuse the lists (scons/android anyone ?) and makes the file a lot shorter and easier to read. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: remove custom rule to install the intel_icd.jsonEmil Velikov2016-05-011-10/+1
| | | | | | | | Autoconf already does the exact same thing as the manually written rule. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94969 Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: tweak the LDFLAGSEmil Velikov2016-05-011-1/+6
| | | | | | | | | | | | Copy/paste from the rest of mesa, but namely. - The module should be shared only. - We don't need the explicit ".so", as the vulkan loader will retrieve the full filename from the json - No unresolved symbols in the final binary - Use the linker garbage collector to slim down the final binary. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: tweak the %.json ruleEmil Velikov2016-05-011-4/+3
| | | | | | | | | It's used only by dev_icd.json so just call it that way. While we're here, manually expand $< (as it might cause issue on some systems) and drop the unneeded install_libdir substitution. Acked-by: Jason Ekstrand <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* anv: add a comment about dev_icd.jsonEmil Velikov2016-05-011-0/+1
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* genxml: ship all the files needed in the tarballEmil Velikov2016-05-011-0/+11
| | | | | | | v2: The xml files are not called "gen*_pack.xml" (Jason) Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: remove description about GENX_FUNC macroEmil Velikov2016-05-011-14/+0
| | | | | | | | | The macro has been gone since commit 1f1cf6fcb0e "anv: Get rid of GENX_FUNC" Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eduardo Lima Mitev <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* gallium/target-helpers: remove inline_wrapper_sw_helper.hEmil Velikov2016-05-011-42/+0
| | | | | | | Unused as of commit dddedbec0ed "{st,targets}/nine: use static/dynamic pipe-loader" Signed-off-by: Emil Velikov <[email protected]>
* egl/x11: resolve "initialization from incompatible pointer type" warningMark Kettenis2016-05-011-2/+10
| | | | | | | | | | | | | | | | | With earlier commit we've moved a few functions and changing the argument type from _EGLDisplay * to struct dri2_egl_display *. The latter is effectively a wrapper around the former, thus functionality was preserved, although GCC rightfully warned us about the misuse. Add a simple wrapper that casts and propagates the correct type. Fixes: 9bbf3737f9c ("egl/x11: authenticate before doing chipset id ioctls") Cc: "11.2 11.1" <[email protected]> Reported-by: Matt Turner <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* glx: Refactor the configure options for glx implementation choice (v3)Chuck Atkins2016-05-013-53/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of cascading support for various different implementations of GLX, all three options are now specified through the --enable-glx option: --enable-glx=dri : Enable the DRI-based GLX --enable-glx=xlib : Enable the classic Xlib-based GLX --enable-glx=gallium-xlib : Enable the gallium Xlib-based GLX --enable-glx[=yes] : Defaults to dri if DRI is enabled, else gallium-xlib if gallium is enabled, else xlib This removes the --enable-xlib-glx option and fixes a bug in which both the classic xlib-glx and gallium xlib-glx implementations were getting built causing different versioned and conflicting libGL libraries to be installed. v2: Changes from various review feedback from Emil: a) Fixed typos b) Corrected help docs for new option c) Added appropriate a-b and r-b tags in commit msg d) Fixed various GLX related dependency checks. v3: Rebased to current master and added changelog in commit msg Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94086 Acked-by: Brian Paul <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* nir/lower_double_ops: fix indentationThomas Hindoe Paaboel Andersen2016-04-301-30/+30
| | | | Reviewed-by: Jason Ekstrand <[email protected]>
* nir/opt_dead_cf: fix indentationThomas Hindoe Paaboel Andersen2016-04-301-4/+4
| | | | Reviewed-by: Jason Ekstrand <[email protected]>
* nir/opt_dead_cf: correction of side effect checkThomas Hindoe Paaboel Andersen2016-04-301-2/+2
| | | | | | | Parenthesis are needed here as ! takes precedence over the &. The check had the opposite effect than intended. Reviewed-by: Jason Ekstrand <[email protected]>
* freedreno/ir3: use pipe_debug_callback for shader-db tracesRob Clark2016-04-306-33/+43
| | | | | | For multi-threaded shader-db support. Signed-off-by: Rob Clark <[email protected]>
* freedreno/a4xx: add debug callback to emitRob Clark2016-04-303-0/+6
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno/a3xx: add debug callback to emitRob Clark2016-04-303-0/+7
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno: wire up core pipe_debug_callbackRob Clark2016-04-302-0/+15
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno/ir3: handle color clamp variant ourselvesRob Clark2016-04-305-3/+28
| | | | | | | | | Now that there is a pass to do this in NIR, lets just use that and manage the variants ourself, rather than letting state-tracker do it. This way, mesa/st will precompile shaders without requiring ST_DEBUG=precompile (which requires a debug build). Signed-off-by: Rob Clark <[email protected]>
* nir: clamp-color-output supportRob Clark2016-04-303-0/+120
| | | | | | | Handled by tgsi_emulate for glsl->tgsi case. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Connor Abbott <[email protected]>
* freedreno: fix indentationRob Clark2016-04-303-12/+12
| | | | Signed-off-by: Rob Clark <[email protected]>
* radeonsi: fix synchronization of shader imagesMarek Olšák2016-04-301-7/+11
| | | | | | | This fixes the winsys->cs_is_buffer_referenced query, which is used for synchronization before buffers are mapped. Reviewed-by: Nicolai Hähnle <[email protected]>
* st/glsl_to_tgsi: fix potential crash when allocating temporariesSamuel Pitoiset2016-04-301-1/+1
| | | | | | | | | | | When index - t->temps_size is greater than 4096, allocating space for temporaries on demand will miserably crash. This can happen when a game uses a lot of temporaries like the recent released Tomb raider. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Cc: "11.1 11.2" <[email protected]>
* glsl: Lower vector_extracts to swizzles after lower_vector_derefs.Kenneth Graunke2016-04-291-0/+1
| | | | | | | | | | | | | | | lower_vector_derefs can produce new vector_extract operations. Neither i965 nor st_glsl_to_tgsi can handle them, so we'd best convert them to swizzles. Together with the previous patch, this fixes assertion failures in GLideN64, as well as a new Piglit test which reproduces the issue: spec/glsl-1.10/compiler/vector-dereference-in-dereference.frag Cc: [email protected] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95164 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: Convert lower_vec_index_to_swizzle to a rvalue visitor.Kenneth Graunke2016-04-291-83/+13
| | | | | | | | | | | | | | The old visitor missed some cases. For example, it wouldn't handle an ir_dereference_array with a vector_extract as the index. Rather than trying to add the missing cases, just rewrite it as an ir_rvalue_visitor. This makes it easy to replace any expression, and is much less code. Cc: [email protected] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95164 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: simplify _mesa_LightfvThomas Faller2016-04-291-10/+0
| | | | | Signed-off-by: Thomas Faller <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/radeon: fix crash in r600_set_streamout_targetsNicolai Hähnle2016-04-292-7/+9
| | | | | | | | Protect against dereferencing a gap in the targets array. This was triggered by a test in the Khronos CTS. Cc: "11.1 11.2" <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* st/glsl_to_tgsi: reduce stack explosion in recursive expression visitorNicolai Hähnle2016-04-292-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | In optimized builds, visit(ir_expression *) experiences inlining with gcc that leads the function to have a roughly 32KB stack frame. This is a problem given that the function is called recursively. In non-optimized builds, the stack frame is much smaller, hence one gets crashes that happen only in optimized builds. Arguably there is a compiler bug or at least severe misfeature here. In any case, the easy thing to do for now seems to be moving the bulk of the non-recursive code into a separate function. This is sufficient to convince my version of gcc not to blow up the stack frame of the recursive part. Just to be sure, add the gcc-specific noinline attribute to prevent this bug from reoccuring if inliner heuristics change. v2: put ATTRIBUTE_NOINLINE into macros.h Cc: "11.1 11.2" <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95133 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95026 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92850 Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* tgsi/text: fix parsing of memory instructionsNicolai Hähnle2016-04-291-13/+27
| | | | | | | Properly handle Target and Format parameters when present. Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* tgsi/text: add str_match_name_from_arrayNicolai Hähnle2016-04-291-0/+18
| | | | | Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* tgsi/text: add str_match_format helper functionNicolai Hähnle2016-04-291-9/+22
| | | | | Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* tgsi/build: pass Memory.Texture and .Format through tgsi_build_full_instructionNicolai Hähnle2016-04-291-2/+6
| | | | | Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* tgsi/dump: signal nospace when the last print exceeded the sizeNicolai Hähnle2016-04-291-4/+6
| | | | | | | Previously, there was a bug where nospace wasn't signalled if it just so happened that the very last print exceeded the available space. Reviewed-by: Dave Airlie <[email protected]>
* tgsi/dump: shared dump_ctx initializationNicolai Hähnle2016-04-291-31/+17
| | | | Reviewed-by: Dave Airlie <[email protected]>
* st/omx: don't return early in vid_enc_EncodeFrame()Emil Velikov2016-04-291-1/+2
| | | | | | | | | | | | | | Earlier commit plugged a memory leak, although it missed a pair of brackets. Thus we unconditionally returned even in the case of no error. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95203 Fixes: b87856d25d1 ("st/omx: Fix resource leak on OMX_ErrorNone") Tested-by: Andy Furniss <[email protected]> Acked-by: Robert Foss <[email protected]> Signed-off-by: Emil Velikov <[email protected]> --- What an embarassing bug - missing brackets. Andy can you confirm that it resolves the issue ?
* glsl: Checks for interpolation into its own function.Andres Gomez2016-04-291-145/+171
| | | | | | | | | | | | This generalizes the validation also to be done for variables inside interface blocks, which, for some cases, was missing. For a discussion about the additional validation cases included see https://lists.freedesktop.org/archives/mesa-dev/2016-March/109117.html and Khronos bug #15671. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]> Signed-off-by: Andres Gomez <[email protected]>
* nir/algebraic: Support lowering for both 64 and 32-bit ldexpJason Ekstrand2016-04-281-9/+22
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* nir/opcodes: Make ldexp take an explicitly 32-bit intJason Ekstrand2016-04-282-2/+2
| | | | | | | | | There is no sense in having the double version of ldexp take a 64-bit integer. Instead, let's just take a 32-bit int all the time. This also matches what GLSL does where both variants of ldexp take a regular integer for the exponent argument. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* nir/opcodes: Simplify the expressions for [un]pack_doubleJason Ekstrand2016-04-281-61/+8
| | | | | | | | | | The new expressions are more explicit in terms of where the bits go so it's a little easier to tell what's going on. This is the way GLSL specifies things so it's a bit easier to verify too. It also has the benifit that the new expressions easily vectorize so we can constant-fold vector forms of the _split versions correctly. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* mesa: Fix indirect draw buffer size check on 32-bit systems.Kenneth Graunke2016-04-281-1/+1
| | | | | | | | | | | | | | Fixes dEQP-GLES31.functional subtests: draw_indirect.negative.command_offset_not_in_buffer_signed32_wrap draw_indirect.negative.command_offset_not_in_buffer_unsigned32_wrap These tests use really large values that overflow GLsizeiptr, at which point the buffer size isn't less than "end". Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95138 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Alejandro Piñeiro <[email protected]> Reviewed-by: Mark Janes <[email protected]>
* nir: Switch the arguments to nir_foreach_defJason Ekstrand2016-04-284-5/+5
| | | | | | | | | | This matches the "foreach x in container" pattern found in many other programming languages. Generated by the following regular expression: s/nir_foreach_def(\([^,]*\),\s*\([^,]*\))/nir_foreach_def(\2, \1)/ Reviewed-by: Eduardo Lima Mitev <[email protected]> Reviewed-by: Ian Romanick <[email protected]>