summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/rendering_device_vulkan.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #63296 from RandomShaper/fix_vk_singleviewRémi Verschelde2022-07-271-3/+15
|\ \
| * | Fill view and correlation masks correctly for single view in Vulkan RDPedro J. Estébanez2022-07-271-3/+15
| | |
* | | Validate texture format for VRS attachmentPedro J. Estébanez2022-07-221-0/+8
|/ /
* | Merge pull request #63237 from RandomShaper/amend_error_msgRémi Verschelde2022-07-201-4/+4
|\ \
| * | Improve messages about VRSPedro J. Estébanez2022-07-201-4/+4
| | |
* | | Add missing fields to VkRenderPassCreateInfo2KHR structBastiaan Olij2022-07-201-0/+2
| | |
* | | Merge pull request #63057 from sakrel/vulkan-fix-2d-shadowsRémi Verschelde2022-07-181-3/+2
|\ \ \
| * | | Fix DirectionalLight2D and PointLight2D shadows not rendering correctlysakrel2022-07-151-3/+2
| | |/ | |/|
* | | Merge pull request #62848 from RandomShaper/shader_writability_improvementRémi Verschelde2022-07-181-3/+8
|\ \ \ | |_|/ |/| |
| * | Enhance determination of uniform writability in Vulkan RDPedro J. Estébanez2022-07-181-1/+5
| | | | | | | | | | | | | | | - Check block decoration in addition to type decoration to be sure to find `readonly` decorators - Verify uniforms have same writability across all shader stages in Vulkan RD
| * | Improve versioning of shader binary data filesPedro J. Estébanez2022-07-181-2/+3
| |/ | | | | | | | | - Include Godot version and commit hash in shader cache key - Reject files when format doesn't match, even if it's lower, since we don't have backwards compatibility here
* / Adding Variable Rate Shading support to GodotBastiaan Olij2022-07-171-181/+322
|/ | | | | Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
* Use a more robust method of determining writability of bindingsPedro J. Estébanez2022-06-301-22/+8
|
* Avoid manual memory management of certain arrays in Vulkan RDPedro J. Estébanez2022-06-281-13/+8
|
* Fix confusion between Vulkan and RD storage buffer usage valuesPedro J. Estébanez2022-06-281-2/+1
|
* Stop debug time full barriers preventing layout transitions in Vulkan RDPedro J. Estébanez2022-06-281-7/+4
|
* Optimize texture update in Vulkan RDPedro J. Estébanez2022-06-281-24/+20
|
* Apply some small fixes/enhancements to the Vulkan RDPedro J. Estébanez2022-06-281-6/+17
| | | | | | | | | | | - Initialize queue indices to values meaning 'unset' - Remove unused parameters & members - Make texture update access flags consistent with texture copy - Fix style and pass type of some parameters - Synchronize setup-draw in flush with a semaphore - Add no current list validation to draw_list_begin_splits() - Update texture usage flags on destination of copy - Fix misuse of Vulkan flag
* Consider uniform writability part of the interface of the setPedro J. Estébanez2022-06-271-2/+29
|
* Split GI effects and fix stereoscopic rendering of GI effectsBastiaan Olij2022-06-221-0/+6
|
* Add a new HashSet templatereduz2022-05-201-7/+7
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Use range iterators for RBSet in most casesAaron Record2022-05-191-21/+21
|
* Replace most uses of Map by HashMapreduz2022-05-161-30/+30
| | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Add `get_video_adapter_api_version()` to RenderingServerHugo Locurcio2022-05-031-0/+5
| | | | | | This method can be used to get the graphics API version currently in use (such as Vulkan). It can be used by projects for troubleshooting or statistical purposes.
* Fix more issues found by cppcheck.bruvzg2022-04-201-1/+1
|
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-2/+1
|
* Fix some issues found by cppcheck.bruvzg2022-04-061-8/+8
|
* Add color pass flags to Forward Clustered rendererjfons2022-04-011-73/+106
| | | | | | | | | | This commit removes a lot of enum values related to the color render pass in favor of a new flag-bases approach. This means instead of hard-coding all the possible option combinations into enums, we can write our logic by checking a bit-mask. The changes in rendering_device_vulkan.cpp add support for unused attachments. That means RenderingDeviceVulkan::framebuffer_create() can take null RIDs in the attachments vector, which will result in VK_ATTACHMENT_UNUSED entries in the render pass. This is used in this same PR to establish fixed locations for the color pass attachments (only color and separate specular so far, but TAA will add motion vectors as well). This way the attachment locations in the shader can stay the same regardless of which attachments are actually used. Right now all the combinations of flags are generated, but we will need to add a way to limit the amount of combinations in the future.
* vk_mem_alloc: Update to upstream + Replace use of deprecated itemsPedro J. Estébanez2022-03-291-14/+14
|
* Merge pull request #58993 from notSanil/device-limit-exceeded-fixRémi Verschelde2022-03-171-1/+1
|\
| * Fix device limit exceeding for uniform buffernotSanil2022-03-161-1/+1
| |
* | Change some math macros to constexprkobewi2022-03-091-15/+15
|/ | | | Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
* Add a UniformSet cachereduz2022-03-061-65/+64
| | | | | | | * Changed syntax usage for RD::Uniform to create faster with a single RID * Converted render pass setup to use this in clustered renderer to test. This is the first step into creating a proper uniform set cache system to simplify large parts of the codebase.
* Fixing retrospective code for specialisation constantsBastiaan Olij2022-03-011-5/+8
|
* vk_mem_alloc: Update to upstream + Adapt approach to small objects poolingPedro J. Estébanez2022-02-241-18/+44
| | | | | | This updates VMA and instead of using the custom small pool approach from 4e6c9d3ae979f2eb0151cf581fe61d2f3194ea72, lazily creates pools for the relevant memory type indices, which doesn't require patching VMA. Also, patches already merged upstream or not needed any longer are removed.
* Implementing OpenXR driverBastiaan Olij2022-02-231-0/+118
|
* [Windows] Fix Vulkan driver crash on sub-window minimization.bruvzg2022-02-171-0/+4
|
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-17/+17
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Add a separate pool for small allocations in Vulkan RDPedro J. Estébanez2022-02-121-2/+20
|
* Merge pull request #54890 from briansemrau/threadsafe-drawpute-listsRémi Verschelde2022-01-221-0/+12
|\ | | | | Make draw/compute lists threadsafe
| * Make draw/compute lists threadsafeBrian Semrau2021-11-111-0/+12
| | | | | | | | Lock the rendering device while command buffers are in use
* | Merge pull request #54489 from briansemrau/texture-delete-updateRémi Verschelde2022-01-191-3/+3
|\ \
| * | Fix materials not updating when texture replaced/deletedBrian Semrau2021-11-011-3/+3
| |/
* | Remove support for PVRTC texture encoding and decodingHugo Locurcio2022-01-141-57/+0
| | | | | | | | | | | | | | On the only platform where PVRTC is supported (iOS), ETC2 generally supersedes PVRTC in every possible way. The increased memory usage is not really a problem thanks to modern iOS' devices processing power being higher than its Android counterparts.
* | Fix various typosluz paz2022-01-131-1/+1
| | | | | | Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inh,inout,leapyear,lod,nd,numer,ois,ony,paket,ro,seeked,sinc,switchs,te,uint,varn,vew`
* | Merge pull request #55790 from Calinou/renderingserver-add-device-type-getterRémi Verschelde2022-01-041-0/+5
|\ \ | | | | | | Add `RenderingServer.get_video_adapter_type()` method
| * | Add `RenderingServer.get_video_adapter_type()` methodHugo Locurcio2021-12-101-0/+5
| | | | | | | | | | | | | | | | | | | | | This can be used to distinguish between integrated, dedicated, virtual and software-emulated GPUs. This in turn can be used to automatically adjust graphics settings, or warn users about features that may run slowly on their hardware.
* | | Merge pull request #51206 from clayjohn/Vulkan-ASSGIRémi Verschelde2022-01-041-3/+4
|\ \ \
| * | | Added SSIL post processing effectclayjohn2021-11-061-3/+4
| | |/ | |/|
* | | Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| |/ |/| | | | | Happy new year to the wonderful Godot community!