summaryrefslogtreecommitdiffstats
path: root/servers/rendering/rendering_device.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert change to default depth clear value in draw_list_beginclayjohn2024-04-171-1/+1
|
* Use Reverse Z for the depth bufferKhasehemwy2024-04-041-1/+1
|
* Enforce template syntax `typename` over `class`Thaddeus Crews2024-03-071-1/+1
|
* Remove self includes in some filesblackbird8062024-02-271-1/+0
|
* Merge execute and present commands for RenderingDeviceDriver.Dario2024-02-191-2/+1
|
* Finish splitting functionality of the Vulkan and D3D12 backends into ↵Dario2024-02-121-63/+63
| | | | RenderingDeviceDriver.
* Fix incorrect mapping of initial action as clear region continue to clear.Dario2024-01-091-1/+1
|
* Fix usage of index offsets in RenderingDevicePatrick Dawson2024-01-091-4/+2
|
* Acyclic Command Graph for RenderingDevice.Dario2024-01-081-99/+136
| | | | Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
* Split RenderingDevice into API-agnostic and RenderingDeviceDriver partsPedro J. Estébanez2023-12-201-1010/+965
| | | | | | Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* Vertex and attribute compression to reduce the size of the vertex format.clayjohn2023-10-051-2/+2
| | | | | | | | | | | | | This allows Godot to automatically compress meshes to save a lot of bandwidth. In general, this requires no interaction from the user and should result in no noticable quality loss. This scheme is not backwards compatible, so we have provided an upgrade mechanism, and a mesh versioning mechanism. Existing meshes can still be used as a result, but users can get a performance boost by reimporting assets.
* Merge pull request #81356 from pkdawson/rd-compatYuri Sizov2023-09-271-0/+7
|\ | | | | | | Add compatibility methods for RenderingDevice BarrierMask
| * Add compatibility methods for RenderingDevice BarrierMaskPatrick Dawson2023-09-271-0/+7
| |
* | Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support.Dario2023-09-251-0/+18
| | | | | | | | Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion.
* | Expose texture_create_from_extension to GDExtensionShawn Wallace2023-09-231-1/+1
|/
* Add buffer_copy method to RenderingDevice interface and an implementation ↵Dario2023-08-121-0/+1
| | | | | | for the Vulkan driver. Direct buffer copies are required to perform certain operations more efficiently, as the only current alternative is to download the buffer to the CPU and upload it again. As the first use case, the new function is used when enabling motion vectors on multimeshes.
* Fix or workaround recent extension API compatibility issuesRémi Verschelde2023-08-031-0/+5
| | | | | | | - Add compatibility methods for `RenderingDevice::shader_create_from_bytecode` and `CodeEdit::get_text_for_symbol_loopup`. - Silence errors which now have compatibility methods. - Acknowledge GraphEdit/GraphNode compat breakage, intended and WIP.
* Merge pull request #79911 from BastiaanOlij/fix_barrier_breakageYuri Sizov2023-08-011-6/+6
|\ | | | | | | Add exceptions for breakage introduced in RD barriers
| * Add exceptions for breakage introduced in RD barriers and prevent future ↵Bastiaan Olij2023-07-281-6/+6
| | | | | | | | breakage
* | Merge pull request #79606 from clayjohn/ShaderRD-compilation-groupsYuri Sizov2023-08-011-1/+2
|\ \ | | | | | | | | | Shader rd compilation groups
| * | Add Shader compile groups to RD Shader systemclayjohn2023-07-211-1/+2
| |/ | | | | | | | | | | | | | | This allows us to specify a subset of variants to compile at load time and conditionally other variants later. This works seamlessly with shader caching. Needed to ensure that users only pay the cost for variants they use
* / Add custom texture create functionBastiaan Olij2023-07-261-0/+2
|/
* Split raster barrier into vertex and fragment barrierBastiaan Olij2023-07-151-4/+7
|
* Expose RD::texture_native_handleBastiaan Olij2023-06-141-1/+1
|
* Document the InitialAction enum in RenderingDeviceHugo Locurcio2023-06-081-9/+9
| | | | | This also improves the documentation for the FinalAction enum, and fixes an incorrect comment in the RenderingDevice header.
* Merge pull request #74711 from BastiaanOlij/add_texture_native_handleRémi Verschelde2023-05-091-0/+1
|\ | | | | | | Provide access to internal graphics handles for textures
| * For GDExternal use, provides access to internal graphics handles for texturesBastiaan Olij2023-05-091-0/+1
| |
* | Save cluster render shader from being optimized out entirelyPedro J. Estébanez2023-05-081-0/+2
|/
* Merge pull request #76418 from reduz/method-bind-validated-callRémi Verschelde2023-05-081-0/+1
|\ | | | | | | Add ValidatedCall to MethodBind
| * Add ValidatedCall to MethodBindJuan Linietsky2023-04-301-0/+1
| | | | | | | | | | | | | | * This should optimize GDScript function calling _enormously_. * It also should simplify the GDScript VM considerably. NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
* | Fix unsupported sampler filter used for voxel GIPedro J. Estébanez2023-04-261-0/+1
|/
* Merge pull request #70663 from EpEpDragon/feature_buffer_get_data_size_optionRémi Verschelde2023-02-101-1/+1
|\ | | | | | | Add optional size parameter to the RenderDevice buffer_get_data method.
| * Added optional offset and size parameter to RenderDevice buffer_get_data methodEpEpDragon2023-01-061-1/+1
| |
* | Add layer slice support to render device and render buffersBastiaan Olij2023-02-031-1/+1
|/
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Changed `STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT` type to enum flagsYuri Rubinsky2022-12-151-3/+3
|
* Refactor SPIR-V reflection into a generic RenderingDevice featurePedro J. Estébanez2022-12-121-0/+37
|
* Changed `RD::PipelineDynamicStateFlags` type to enum flagsYuri Rubinsky2022-12-111-3/+3
|
* Changed `RenderingDevice::TextureUsageBits` type to enum flagsYuri Rubinsky2022-11-261-2/+2
|
* Merge pull request #68942 from Chaosus/barrier_mask_flagsRémi Verschelde2022-11-221-11/+12
|\ | | | | | | Expose `BarrierMask` as flags enum in `RenderingDevice`
| * Expose `BarrierMask` as flags enum in `RenderingDevice`Yuri Rubinsky2022-11-221-11/+12
| |
* | Merge pull request #68527 from pkdawson/vertex-array-offsetsRémi Verschelde2022-11-211-2/+2
|\ \ | |/ |/| | | Add `offsets` parameter to RenderingDevice::vertex_array_create
| * Add `offsets` parameter to RenderingDevice::vertex_array_createPatrick Dawson2022-11-111-2/+2
| |
* | Fix VRS issuesBastiaan Olij2022-11-171-0/+2
|/
* Merge pull request #64710 from MinusKube/window-size-crashClay John2022-10-271-0/+2
|\ | | | | Prevent windows from having a size greater than device limit
| * Prevent windows from having a size greater than device limitMinusKube2022-09-041-0/+2
| |
* | Rename remaining "*_enable" to "*_enabled"Micky2022-09-211-2/+2
|/ | | | | | | | | | | | | | | | | | Material.`proximity_fade_enable` -> `proximity_fade_enabled` Material.`set_proximity_fade` -> `set_proximity_fade_enabled` (Material.`is_proximity_fade_enabled` is unchanged) Area3D.`reverb_bus_enable` -> `reverb_bus_enabled` (`set_use_reverb_bus` & `is_using_reverb_bus` are unchanged) RDPipelineRasterizationState: `depth_bias_enable` -> `depth_bias_enabled` `set_depth_bias_enable` -> `set_depth_bias_enabled` `get_depth_bias_enable` -> `get_depth_bias_enabled` Bonus: Area3D.`set_reverb_bus` -> `set_reverb_bus_name` Area3D.`get_reverb_bus` -> `set_get_reverb_bus_name`
* Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde2022-09-021-2/+2
|\
| * Change Array arguments to TypedArraykobewi2022-09-011-2/+2
| |
* | Extracting render buffers and changing it to a more generic solutionBastiaan Olij2022-09-011-0/+26
|/