summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* anv/cmd_state: Drop the scratch_size fieldJason Ekstrand2018-01-231-1/+0
| | | | | | | | | This is a legacy left-over from the mechanism we used to use to handle scratch. The new (and better) mechanism doesn't use this. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/pipeline: Don't assert on more than 32 samplersJason Ekstrand2018-01-231-1/+7
| | | | | | | | This prevents an assert when running one unreleased Vulkan game. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* radv: fix sample_mask_in loading. (v3.1)Dave Airlie2018-01-244-6/+56
| | | | | | | | | | | | | | This is ported from radeonsi and fixes: dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.bit_* v2: don't call this path for radeonsi, it does it in the epilog. use the radeonsi code path. v3: handle NULL pCreateInfo->pMultisampleState properly (Samuel) v3.1: set ps_iter_samples default to 1 (Bas) Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: bdcbe7c76 (radv: add sample mask input support) Signed-off-by: Dave Airlie <[email protected]>
* radv: don't use hw resolves for r16g16 norm formats.Dave Airlie2018-01-241-1/+4
| | | | | | | | | | | | | radeonsi has a workaround for this, but it uses a R16A16 format, which vulkan doesn't have, we could probably come up with a work around but for now just avoid hw resolves. Fixes: dEQP-VK.renderpass.suballocation.multisample.r16g16_*norm* Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: 2a04f5481d (radv/meta: select resolve paths) Signed-off-by: Dave Airlie <[email protected]>
* radv: don't use hw resolve for integer image formatsDave Airlie2018-01-241-0/+5
| | | | | | | | | | | | | | From reading AMDVLK it currently never uses hw resolve paths. This patch takes from radeonsi which doesn't use hw resolve for integer formats, and does the same for radv. This fixes: dEQP-VK.renderpass.suballocation.multisample*uint tests. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: 2a04f5481d (radv/meta: select resolve paths) Signed-off-by: Dave Airlie <[email protected]>
* radv: add fs_key meta format support to resolve passes.Dave Airlie2018-01-242-30/+61
| | | | | | | | | | | | Some of the hw resolve passes need the SPI color format setup correctly. This fixes lots of 16-bit and 32-bit format tests in dEQP-VK.renderpass.suballocation.multisample* Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: f4e499ec7914 "radv: add initial non-conformant radv vulkan driver" Signed-off-by: Dave Airlie <[email protected]>
* winsys/svga: check correct member after createGrazvydas Ignotas2018-01-231-1/+1
| | | | | | | | | .mob_fenced was already checked, probably a copy-paste bug. Found by Coccinelle. Signed-off-by: Grazvydas Ignotas <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: fix context alloc error handlingGrazvydas Ignotas2018-01-231-1/+1
| | | | | | | | | 'cleanup' path is dereferencing 'svga' a lot, 'done' is a better choice. Found by Coccinelle. Signed-off-by: Grazvydas Ignotas <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* meson: remove lib prefix from libd3dadapter9.soChristoph Haag2018-01-231-0/+1
| | | | | | Fixes: 6b4c7047d57178d336 ("meson: build gallium nine state_tracker") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* radeon: remove left over dead codeEric Engestrom2018-01-231-6/+0
| | | | | | | Fixes: 4e0d99a63588c67a955f "r100: Use shared debug code" Cc: Pauli Nieminen <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* ac/nir: Use instance_rate_inputs per attribute, not per variable.Bas Nieuwenhuizen2018-01-231-14/+13
| | | | | | | | | | This did the wrong thing if we had e.g. an array for which only some of the attributes use the instance index. Tripped up some new CTS tests. CC: <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* anv: Return trampoline entrypoints from GetInstanceProcAddrJason Ekstrand2018-01-232-1/+50
| | | | | | | | | | | | | | | | | | | | Technically, the Vulkan spec requires that we return valid entrypoints for all core functionality and any available device extensions. This means that, for gen-specific functions, we need to return a trampoline which looks at the device and calls the right device function. In 99% of cases, the loader will do this for us but, aparently, we're supposed to do it too. It's a tiny increase in binary size for us to carry this around but really not bad. Before: text data bss dec hex filename 3541775 204112 6136 3752023 394057 libvulkan_intel.so After: text data bss dec hex filename 3551463 205632 6136 3763231 396c1f libvulkan_intel.so Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/entrypoints: Use an named tuple for paramsJason Ekstrand2018-01-231-11/+23
| | | | | | This allows us to store a bit more detailed data per-param Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Only advertise enabled entrypointsJason Ekstrand2018-01-233-6/+74
| | | | | | | | | The Vulkan spec annoyingly requires us to track what core version and what all extensions are enabled and only advertise those entrypoints. Any call to vkGet*ProcAddr for an entrypoint for an extension the client has not explicitly enabled is supposed to return NULL. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Add a per-device dispatch tableJason Ekstrand2018-01-232-1/+44
| | | | | | We also switch GetDeviceProcAddr over to use it. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Add a per-instance dispatch tableJason Ekstrand2018-01-232-1/+7
| | | | | | We also switch GetInstanceProcAddr over to use it. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Properly NULL for GetInstanceProcAddr with a null instanceJason Ekstrand2018-01-231-1/+23
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/extensions: Fix VkVersion::c_vk_version for patch == NoneJason Ekstrand2018-01-231-1/+2
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/entrypoints: Parse entrypoints before extensions/featuresJason Ekstrand2018-01-231-15/+17
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/entrypoints: Expose the different dispatch tablesJason Ekstrand2018-01-231-8/+12
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/entrypoints: Split entrypoint index lookup into its own functionJason Ekstrand2018-01-232-5/+16
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/entrypoints: Add a LAYERS helper variableJason Ekstrand2018-01-231-7/+15
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/entrypoints: Add an Entrypoint classJason Ekstrand2018-01-231-50/+63
| | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Add a per-device table of enabled extensionsJason Ekstrand2018-01-232-0/+5
| | | | | | Nothing uses this at the moment, but we will need it soon. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Use tables for device extension wranglingJason Ekstrand2018-01-233-32/+49
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Add a per-instance table of enabled extensionsJason Ekstrand2018-01-232-0/+6
| | | | | | Nothing needs this yet but we will want it later. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Use tables for instance extension wranglingJason Ekstrand2018-01-233-31/+34
| | | | | | | This lets us move a bunch of stuff out of codegen and back into anv_device.c which is a bit nicer. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/extensions: Generate a header file with extension tablesJason Ekstrand2018-01-235-10/+92
| | | | | | This allows us better introspection into extensions. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/meson: Simplify some dependency and flag trackingJason Ekstrand2018-01-231-9/+16
| | | | | | | This removes some redundant code between libanv_common, libvulkan_intel, and libvulkan_intel_test. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv: Split anv_extensions.py into two filesJason Ekstrand2018-01-234-157/+189
| | | | | | | The new anv_extensions_gen.py is the code generator while the old anv_extensions.py file is purely declarative. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* anv/meson: Make anv_entrypoints_gen.py depend on anv_extensions.pyJason Ekstrand2018-01-231-1/+2
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* ac: fix image load store for GLSL_SAMPLER_DIM_3DTimothy Arceri2018-01-231-1/+3
| | | | | | | | | | | | Fixes the following piglit tests: arb_shader_image_load_store/layer/image3d/layered binding test arb_shader_image_load_store/max-size/image3d max size test/2048x8x8x1 arb_shader_image_load_store/max-size/image3d max size test/8x2048x8x1 arb_shader_image_load_store/max-size/image3d max size test/8x8x2048x1 arb_shader_image_load_store/semantics/imageload/vertex shader/rgba32f/image3d test Reviewed-by: Nicolai Hähnle <[email protected]>
* ac: image size builtin for GLSL_SAMPLER_DIM_3DTimothy Arceri2018-01-231-1/+2
| | | | | | | | This is what radeonsi does. Fixes remaing piglit subtest in: ./bin/arb_shader_image_size-builtin --quick -auto -fbo Reviewed-by: Nicolai Hähnle <[email protected]>
* 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]
* 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]>