summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* swr: refactor swr_create_screen to allow for proper cleanup on errorChuck Atkins2018-01-224-56/+79
| | | | | | | | | | | | | | | | This makes the following changes to address cleanup issues: - Error conditions now return NULL instead of calling exit() - swr_creen is now freed upon error, rather than leak. - Library handle from dlopen is now closed upon swr_screen destruction v2: Added additional context in commit msg and remove unnecessary "PUBLIC" v3: Fix typo in commit message. Signed-off-by: Chuck Atkins <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Cc: Bruce Cherniak <[email protected]> Cc: Tim Rowley <[email protected]> cc: [email protected]
* intel: Add Geminilake brand stringsAnuj Phogat2018-01-221-2/+2
| | | | | Signed-off-by: Anuj Phogat <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* ac: fix ac_build_varying_gather_values() for packed layoutsTimothy Arceri2018-01-231-1/+1
| | | | | | This fixes a segfault for varyings not starting at component 0. Reviewed-by: Nicolai Hähnle <[email protected]>
* ac: remove arrays when when querying sampler infoTimothy Arceri2018-01-231-3/+1
| | | | | | | | | | | Fixes the following ARB_arrays_of_arrays piglit tests: basic-imagestore-const-uniform-index basic-imagestore-mixed-const-non-const-uniform-index basic-imagestore-mixed-const-non-const-uniform-index2 basic-imagestore-non-const-uniform-index Reviewed-by: Nicolai Hähnle <[email protected]>
* glsl: add image and sampler (un)packing support to glsl to nirTimothy Arceri2018-01-231-0/+4
| | | | | | This is needed for ARB_bindless_texture support. Reviewed-by: Nicolai Hähnle <[email protected]>
* nir: add image and sampler type to glsl_get_bit_size()Timothy Arceri2018-01-231-0/+2
| | | | | | These are needed for ARB_bindless_texture support. Reviewed-by: Nicolai Hähnle <[email protected]>
* ac: fix emit vertex stream parameterTimothy Arceri2018-01-231-2/+3
| | | | | | | | Fixes the following piglit test on radeonsi: ./bin/arb_enhanced_layouts-gs-stream-location-aliasing Reviewed-by: Nicolai Hähnle <[email protected]>
* ac: add support for gl_HelperInvocationTimothy Arceri2018-01-231-0/+14
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/radeonsi: add emit primitive to the abiTimothy Arceri2018-01-233-2/+8
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: add generic emit primitive helperTimothy Arceri2018-01-231-7/+14
| | | | | | This will be shared by the tgsi and nir backends. Reviewed-by: Nicolai Hähnle <[email protected]>
* ac: add stream handling to visit_end_primitive()Timothy Arceri2018-01-231-4/+3
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi/nir: fix fs output indexTimothy Arceri2018-01-231-0/+5
| | | | | | | | | | | | | | | | Fixes the following piglit tests: arb_blend_func_extended-fbo-extended-blend arb_blend_func_extended-fbo-extended-blend-explicit arb_blend_func_extended-fbo-extended-blend-explicit_gles3 arb_blend_func_extended-fbo-extended-blend-pattern arb_blend_func_extended-fbo-extended-blend-pattern_gles2 arb_blend_func_extended-fbo-extended-blend-pattern_gles3 arb_blend_func_extended-fbo-extended-blend_gles3 ext_framebuffer_multisample/alpha-to-coverage-dual-src-blend ext_framebuffer_multisample/alpha-to-one-dual-src-blend Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/nir/radeonsi: add ARB_shader_ballot supportTimothy Arceri2018-01-232-0/+46
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* ac/nir: add ARB_shader_group_vote supportTimothy Arceri2018-01-231-0/+15
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi/nir: add primitive id to inputs scanTimothy Arceri2018-01-231-0/+3
| | | | | | | | | | | | | Fixes the following piglit tests: arb_tessellation_shader/fs-primitiveid-instanced glsl-1.50/primitive-id-no-gs glsl-1.50/primitive-id-no-gs-first-vertex glsl-1.50/primitive-id-no-gs-instanced glsl-1.50/primitive-id-no-gs-strip glsl-1.50/primitive-id-no-gs-strip-first-vertex Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi/nir: add nir_intrinsic_load_sample_mask_in to ir scanTimothy Arceri2018-01-231-0/+3
| | | | | | Fixes a bunch of ARB_sample_shading piglit tests. Reviewed-by: Nicolai Hähnle <[email protected]>
* u_thread: Use pthread_setname_np on linux only.Samuel Thibault2018-01-221-1/+2
| | | | | | | pthread_setname_np was added in glibc 2.12 for the Linux port only, other ports do not necessarily have it. Signed-off-by: Jose Fonseca <[email protected]>
* svga: Prevent use after free.Jose Fonseca2018-01-221-0/+1
| | | | | | | | | | Courtesy of clang static analyzer. I was hunting for potential sources of memory corruption using Mesa with a GL trace, and happened to find this (unrelated) issue. Cc: [email protected] Reviewed-by: Emil Velikov <[email protected]>
* i965: Drop render_target_start from binding table struct.Kenneth Graunke2018-01-224-13/+10
| | | | | | | | | We have to start render targets at binding table index 0 in order to use headerless FB write messages, and in fact already assume this in a bunch of places in the code. Let's finish that off, and not bother storing 0 in a struct to pretend to add it in a few places. Reviewed-by: Iago Toral Quiroga <[email protected]>
* i965: make brw_context::num_samples unsigned intEmil Velikov2018-01-221-1/+1
| | | | | | | | It is never a negative number. Variable is compared against unsigned values and passed into functions that expect unsigned int. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* st/mesa: provide static inline st_init_vdpau_functionsEmil Velikov2018-01-222-6/+8
| | | | | | | | | The ifdef spaghetty in st_vdpau.c is rather confusing and misleading. Simplily it by introducing a static inline helper noop (when HAVE_ST_VDPAU is not defined) in the header. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Christian König <[email protected]>
* radv: add an option that allows to dump pre-optimization irSamuel Pitoiset2018-01-225-0/+8
| | | | | | | With RADV_DEBUG=preoptir. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* i965: Accept CONTEXT_ATTRIB_PRIORITY for brwCreateContextChris Wilson2018-01-221-1/+3
| | | | | | | | | | | | | | | | | The forward port of commit 6d87500fe12e ("dri: Change __DriverApiRec::CreateContext to take a struct for attribs") failed to adapt the set of allowed attributes for the earlier introduction of context priorities (commit 1617fca6d12e "i965: Pass the EGL/DRI context priority through to the kernel"). Fixes: 6d87500fe12e ("dri: Change __DriverApiRec::CreateContext to take a struct for attribs") Signed-off-by: Chris Wilson <[email protected]> Cc: Adam Jackson <[email protected]> Cc: Nicolai Hähnle <[email protected]> Cc: Emil Velikov <[email protected]> Cc: Kenneth Graunke <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Cc: [email protected]
* radv: restore previous stencil reference after depth-stencil clearMatthew Nicholls2018-01-221-0/+6
| | | | | | Cc: [email protected] Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Alex Smith <[email protected]>
* i965: Set tiling on BOs imported with modifiersJason Ekstrand2018-01-211-1/+10
| | | | | | | | | | We need this to ensure that GTT maps work on buffers we get from Vulkan on the off chance that someone does a readpixels or something. Soon, we will be removing GTT maps from i965 entirely and this can be reverted. None the less, it's needed for stable. Reviewed-by: Kenneth Graunke <[email protected]> Cc: [email protected]
* i965/bufmgr: Add a create_from_prime_tiled functionJason Ekstrand2018-01-212-8/+35
| | | | | | | This new function is an import and a set tiling in one go. Reviewed-by: Kenneth Graunke <[email protected]> Cc: [email protected]
* i965/miptree: Use the tiling from the modifier instead of the BOJason Ekstrand2018-01-211-4/+5
| | | | | | | | | | | This fixes a bug where we were taking the tiling from the BO regardless of what the modifier said. When we got images in from Vulkan where it doesn't set the tiling on the BO, we would treat them as linear even though the modifier expressly said to treat it as Y-tiled. Reviewed-by: Daniel Stone <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: [email protected]
* i965/miptree: Add an explicit tiling parameter to create_for_boJason Ekstrand2018-01-216-10/+24
| | | | | | | | Otherwise, create_for_bo will just grab the tiling from the BO which is not what we want when using modifiers. Reviewed-by: Kenneth Graunke <[email protected]> Cc: [email protected]
* radv: Don't allow 3d or 1d depth/stencil textures.Bas Nieuwenhuizen2018-01-221-0/+3
| | | | | | | | | | addrlib asserts when that happens, and supporting it is not required so lets not allow this for now. It also assert on fmask, but we don't have the number of samples here. CC: <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* radv: Init variant entry with memset.Bas Nieuwenhuizen2018-01-221-0/+1
| | | | | | | | This gets memcpy'd and written driectly, and due to alignment, this resulted in uninitialized gaps. This makes those gaps go away. CC: <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* radv: Fix bufimage failure deallocation.Bas Nieuwenhuizen2018-01-221-4/+6
| | | | | | | The inidividual init parts don't clean up their own stuff on failure. CC: <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* radv: Fix fragment resolve init memory allocation failure paths.Bas Nieuwenhuizen2018-01-221-8/+6
| | | | | CC: <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* radv: Fix freeing meta state if the device pipeline cache fails to allocate.Bas Nieuwenhuizen2018-01-221-1/+3
| | | | | CC: <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* radv: Fix memory allocation failure path in compute resolve init.Bas Nieuwenhuizen2018-01-221-1/+10
| | | | | CC: <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* radv: Fix ordering issue in meta memory allocation failure path.Bas Nieuwenhuizen2018-01-221-2/+2
| | | | | CC: <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* etnaviv: dirty TS state when framebuffer has changedLucas Stach2018-01-211-1/+2
| | | | | | | | | | | When switching between framebuffers with and without TS, the TS state needs to be flushed to the command stream even if the derived state isn't changed. Fixes: 4ee7c2c2843c ("etnaviv: enable TS, but disable autodisable") Cc: [email protected] Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* broadcom/vc5: Fix source file name.Vinson Lee2018-01-211-1/+1
| | | | | | Fixes: c9b2cb78972d ("vc5: add missing files to the tarball") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* broadcom/vc5: Add missing include paths.Vinson Lee2018-01-211-2/+2
| | | | | | Fixes: 954a704da305 ("broadcom/vc5: Port the RCL setup to V3D4.1.") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Only require independent blending for GLES 3.2.Eric Anholt2018-01-211-1/+1
| | | | | | | | | We've been requiring this since GLES 3.0 was introduced, but the GLES 3.2 spec is the one that has "Supporting blending on a per-draw-buffer basis" in the new features. V3D 3.3 would require lowering blending to shader code to implement independent blending. Reviewed-by: Tapani Pälli <[email protected]>
* i965: Delete completely bogus commentKenneth Graunke2018-01-201-5/+0
| | | | | | | | | | | This hasn't been true in 6+ years, if it was even true then. Before we rewrote the compiler and introduced GLSL IR in 2010-2011, i965 used to have two compiler backends for WM programs, based on Mesa IR. One handled flow control and was SIMD8-only, while the other was SIMD16 only and didn't handle flow control. Or something like that. Even then, this certainly didn't handle vertex shaders, so "all ... code generation" is a bit strong.
* autotools: include meson build files in tarballDylan Baker2018-01-1996-62/+187
| | | | | | | | | | | | This adds the meson.build, meson_options.txt, and a few scripts that are used exclusively by the meson build. v2: - Remove accidentally included changes needed to test make dist with LLVM > 3.9 Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* swr/rast: Fix llvm5 behaviorGeorge Kyriazis2018-01-191-1/+2
| | | | | | | | | | For some reason llvm5 is picky about accepting a void * type in the case of building an argument list. Since we don't care about the type (we ignore the argument for now), pick another pointer type Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Enable early rasterizationGeorge Kyriazis2018-01-191-1/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Implement Early Rasterization optimizationGeorge Kyriazis2018-01-194-0/+388
| | | | | | | | | | | | | | | Early Rasterization is an optimization for small triangles. Scientific workloads often contain very small triangles that has non-zero area and cannot be trivially rejected as falling between pixel centers, but does not cover any pixel center. Those triangles can be initially rasterized as early as in binner and rejected if they cover no pixels The optimization can be disabled in compilation using KNOB_ENABLE_EARLY_RAST option in knobs.h The Early Rast is disabled by default. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Enable simd16 vertex shadersGeorge Kyriazis2018-01-191-2/+2
| | | | | | | | | | | Flip the switch(es) to enable simd16 vertex shaders: USE_SIMD16_SHADERS and USE_SIMD16_VS Both have to be enabled at the same time. Currently, just setting USE_SIMD16_SHADERS does not work correctly. Reviewed-by: Bruce Cherniak <[email protected]>
* swr: Support simd16 vertex shadersGeorge Kyriazis2018-01-193-21/+30
| | | | | | | | | | | | | | | Supporting simd16 vertex shaders involves packing the output of the fetch shader appropriately, especially the vertexID buffers that have to be formatted in one simd16 register, needed by the VS. As part of this support, we needed to remove the 2nd JitManager, since it was not accounting for vector width correctly. USE_SIMD16_SHADERS is also split into two defines. The additional one (USE_SIMD16_VS) controls the width of the vertex shader (VS), while the original one (USE_SIMD16_SHADERS) controls overall front end width. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: changed jit debug magic numberGeorge Kyriazis2018-01-191-1/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Added ICLAMP builder functionGeorge Kyriazis2018-01-192-3/+3
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Jit debug workGeorge Kyriazis2018-01-191-30/+81
| | | | | | Properly validate DLL matches OBJ for jitted function Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: silence generated file warningsGeorge Kyriazis2018-01-191-0/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>