sunshineinabox
9b02fd6dc0
Conver to TopologyClass from Vulkan Topology
2024-08-01 08:19:11 -07:00
sunshineinabox
38c9ec925c
Whitespace fix
2024-07-31 18:22:29 -07:00
sunshineinabox
3f7a3ac558
Adapt changes from #7102 for dynamic states
2024-07-31 18:18:46 -07:00
sunshineinabox
fb964b514c
Do not set patch control points dynamic state if there is no tessalation control shader. Thank you riperiperi
2024-07-31 08:14:26 -07:00
sunshineinabox
e7a4299400
Minor change
2024-07-23 22:09:56 -07:00
sunshineinabox
2cba50a9ed
Move TopologyClass conversoin to EnumConversion.cs
2024-07-23 21:54:01 -07:00
sunshineinabox
b66f6ce673
Resolve some validation errors
2024-07-23 20:58:47 -07:00
sunshineinabox
a5052013f3
Fix some conditions
2024-07-23 20:25:23 -07:00
sunshineinabox
7610236816
Resolve merge error
2024-07-19 17:36:29 -07:00
sunshineinabox
afe4d581ee
Merge branch 'master' into MoreDynamicStatesPartOne
2024-07-18 07:32:07 -07:00
riperiperi
1a919e99b2
Vulkan: Defer guest barriers, and improve image barrier timings ( #7012 )
...
* More guarantees for buffer correct placement, defer guest requested buffers
* Split RP on indirect barrier rn
* Better handling for feedback loops.
* Qualcomm barriers suck too
* Fix condition
* Remove unused field
* Allow render pass barriers on turnip for now
2024-07-17 20:21:32 -03:00
gdkchan
07435ad844
Use draw clear on Adreno, instead of vkCmdClearAttachments ( #7013 )
...
* Use draw clear on Adreno, instead of vkCmdClearAttachments
* Fix GTX TITAN detection
2024-07-10 17:52:45 -03:00
gdkchan
1668ba913f
Force dynamic state update after rasterizer discard disable ( #7007 )
2024-07-09 23:31:01 -03:00
gdkchan
cfc75d7e78
Disable descriptor set template updates for buffer textures on Adreno ( #7002 )
...
* Do not use template updates for buffer textures and buffer images
* No need to do it for images
* Simply buffer texture existence check
* Pipeline is now unused on DescriptorSetUpdater
2024-07-07 19:19:55 -03:00
sunshineinabox
feb67dede6
Avoid setting depth bias state when not needed.
2024-07-04 23:38:21 -07:00
sunshineinabox
933c9c89ff
Resolve logic op validation error only primitive topology pending
2024-06-03 21:10:13 -07:00
sunshineinabox
266649929f
Clean up for some clarity and attempt to resolve some validation errors.
2024-06-02 21:00:18 -07:00
sunshineinabox
16a4374ae8
Fix whitespace
2024-05-29 10:16:14 -07:00
sunshineinabox
d8d33417e9
Fix oversight with implementing Primitive Topology Dynamic State
2024-05-29 10:14:12 -07:00
sunshineinabox
e6492f8e78
Reduce unneeded state changes
2024-05-29 09:45:56 -07:00
sunshineinabox
5c65880ec0
Whitespaces
2024-05-29 09:16:44 -07:00
sunshineinabox
efdcce4415
Only enable enable LogicOp dynamic state and logic op if its enabled.
2024-05-29 08:36:24 -07:00
sunshineinabox
424166acd8
Oversight
2024-05-28 13:01:08 -07:00
sunshineinabox
3683ee5c29
Follow namign rules.
2024-05-27 23:25:59 -07:00
sunshineinabox
4a3932ed54
Use dictionary instead for clarity and rework some logic.
2024-05-27 23:11:39 -07:00
sunshineinabox
7ac2cd44d0
Attempt proper VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY implementation
2024-05-27 23:11:39 -07:00
sunshineinabox
f43413f374
Revert Silk.NET to main branch version.
...
Remove VK_EXT_extended_dynamic_state3 functionality until later PR
2024-05-27 23:11:39 -07:00
sunshineinabox
fb4ef3347a
Rebase
2024-05-27 23:11:39 -07:00
sunshineinabox
0000a7ac9c
Rebased
2024-05-27 23:11:39 -07:00
sunshineinabox
89dee194d2
Use dynamic state for primitive topology if dynamicPrimitiveTopologyUnrestricted is supported.
2024-05-27 23:11:39 -07:00
sunshineinabox
8bb369f37d
Missed enabling Dynamic State
2024-05-27 23:11:39 -07:00
sunshineinabox
5d5f482d57
Enable VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT
2024-05-27 23:11:39 -07:00
sunshineinabox
863674768d
Some more small changes
2024-05-27 23:11:39 -07:00
sunshineinabox
ab7f379e11
Formatting
2024-05-27 23:11:39 -07:00
sunshineinabox
ecadc6a4f9
Implement VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT
2024-05-27 23:11:39 -07:00
sunshineinabox
19db5a0ce2
Implement VK_EXT_extended_dynamic_state3
2024-05-27 23:11:39 -07:00
sunshineinabox
66b6b46716
Use device features to enable to disable LogicOp Extended Dynamic State
...
Improve index counting
2024-05-27 23:11:39 -07:00
sunshineinabox
c728a3b6a4
ExtDynamicState2
2024-05-27 23:11:39 -07:00
sunshineinabox
cee5ae5551
Some missed values
2024-05-27 23:11:39 -07:00
sunshineinabox
eaedc3ec9e
Use Viewport and Scissor with count.
...
Topology Dynamic State is not working as intended. Need to add check to set correct Topology class. Circle back to this later. For now revert it.
Some minor fixes.
2024-05-27 23:11:39 -07:00
sunshineinabox
e7fbc9a1be
Use Correct namespace
2024-05-27 23:11:39 -07:00
sunshineinabox
506f25054d
LineWidth is not supported on MoltenVK
2024-05-27 23:11:39 -07:00
sunshineinabox
1befb5bd8f
Check if widelines is supported.
2024-05-27 23:11:39 -07:00
sunshineinabox
5894ef043b
No need to by reference
2024-05-27 23:11:38 -07:00
sunshineinabox
24e6105e6f
Primitive Topolgy DynamicState maybe causing performance degredation.
2024-05-27 23:11:38 -07:00
sunshineinabox
5f02e28017
More Dynamic States
2024-05-27 23:11:38 -07:00
sunshineinabox
4933888a9d
Make StencilOp, FrontFace and CullMode Dynamic States. Also prevent Vertex Input Binding Stride dynamic state from enabling with MoltenVK.
2024-05-27 23:11:38 -07:00
gdkchan
53d096e392
Allow texture arrays to use separate descriptor sets on Vulkan ( #6870 )
...
* Report base and extra sets from the backend
* Pass texture set index everywhere
* Key textures using set and binding (rather than just binding)
* Start using extra sets for array textures
* Shader cache version bump
* Separate new commands, some PR feedback
* Introduce new manual descriptor set reservation method that prevents it from being used by something else while owned by an array
* Move bind extra sets logic to new method
* Should only use separate array is MaximumExtraSets is not zero
* Format whitespace
2024-05-26 13:30:19 -03:00
gdkchan
e65effcb05
Workaround AMD bug on logic op with float framebuffer ( #6852 )
...
* Workaround AMD bug on logic op with float framebuffer
* Format whitespace
* Update comment
2024-05-23 01:05:32 -03:00
gdkchan
3e6e0e4afa
Add support for large sampler arrays on Vulkan ( #6489 )
...
* Add support for large sampler arrays on Vulkan
* Shader cache version bump
* Format whitespace
* Move DescriptorSetManager to PipelineLayoutCacheEntry to allow different pool sizes per layout
* Handle array textures with different types on the same buffer
* Somewhat better caching system
* Avoid useless buffer data modification checks
* Move redundant bindings update checking to the backend
* Fix an issue where texture arrays would get the same bindings across stages on Vulkan
* Backport some fixes from part 2
* Fix typo
* PR feedback
* Format whitespace
* Add some missing XML docs
2024-04-07 18:25:55 -03:00