summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* anv/cmd_buffer: Move vb_dirty bits into anv_cmd_graphics_stateJason Ekstrand2018-01-234-7/+7
| | | | | | | | Vertex buffers are entirely a graphics pipeline thing. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Move dirty bits into anv_cmd_*_stateJason Ekstrand2018-01-237-60/+62
| | | | | | Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv: Separate compute and graphics descriptor setsJason Ekstrand2018-01-234-32/+70
| | | | | | | | | | | | | | | | | | The Vulkan spec says: "pipelineBindPoint is a VkPipelineBindPoint indicating whether the descriptors will be used by graphics pipelines or compute pipelines. There is a separate set of bind points for each of graphics and compute, so binding one does not disturb the other." Up until now, we've been ignoring the pipeline bind point and had just one bind point for everything. This commit separates things out into separate bind points. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102897 Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Use anv_descriptor_for_binding for samplersJason Ekstrand2018-01-231-4/+2
| | | | | | Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Add a helper for binding descriptor setsJason Ekstrand2018-01-231-28/+42
| | | | | | | | | This lets us unify some code between push descriptors and regular descriptors. It doesn't do much for us yet but it will. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Refactor ensure_push_descriptor_setJason Ekstrand2018-01-231-11/+13
| | | | | | | | | | | It's now a function which returns the push descriptor set. Since we set the error on the command buffer, returning the error is a little redundant. Returning the descriptor set (or NULL on error) is more convenient. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv: Remove semicolons from vk_error[f] definitionsJason Ekstrand2018-01-231-2/+2
| | | | | | | | | With the semicolons, they can't be used in a function argument without throwing syntax errors. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Add substructs to anv_cmd_state for graphics and computeJason Ekstrand2018-01-235-32/+74
| | | | | | | | Initially, these just contain the pipeline in a base struct. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Use some pre-existing pipeline temporariesJason Ekstrand2018-01-232-7/+5
| | | | | | | | | | There are several places where we'd already saved the pipeline off to a temporary variable but, due to an artifact of history, weren't actually using that temporary everywhere. No functional change. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Rework anv_cmd_state_resetJason Ekstrand2018-01-231-38/+22
| | | | | | | | | | | This splits anv_cmd_state_reset into separate init and finish functions. This lets us share init code with cmd_buffer_create. This potentially fixes subtle bugs where we may have missed some bit of state that needs to get initialized on command buffer creation. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* anv/cmd_buffer: Get rid of the meta query workaroundJason Ekstrand2018-01-233-16/+0
| | | | | | | | Meta has been gone for a long time. Tested-by: Józef Kucia <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Cc: "18.0" <[email protected]>
* 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]>
* docs: update calendar 18.0.0-rc1 is outEmil Velikov2018-01-231-7/+1
| | | | Signed-off-by: Emil Velikov <[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]>
* docs: ask for backport nominations to cc: the authorEric Engestrom2018-01-231-0/+4
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* meson: fix some defines misspelled errors in meson.buildMarc Dietrich2018-01-231-2/+2
| | | | | | | | | | Defines - HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL - HAVE_FUNC_ATTRIBUTE_VISIBILITY were misspelled. Signed-off-by: Marc Dietrich <[email protected]> Reviewed-by: Eric Engestrom <[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]
* 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]>