WIP: uv-simple-select #1

Closed
Chris Blackbourn wants to merge 182 commits from uv-simple-select into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
5 changed files with 12 additions and 11 deletions
Showing only changes of commit fdaf71d126 - Show all commits

View File

@ -1000,7 +1000,7 @@ typedef struct EEVEE_PrivateData {
/* Compiling shaders count. This is to track if a shader has finished compiling. */
int queued_shaders_count;
int queued_shaders_count_prev;
/* Optimising shaders count. */
/* Optimizing shaders count. */
int queued_optimise_shaders_count;
/* LookDev Settings */

View File

@ -237,13 +237,14 @@ void GPU_shader_transform_feedback_disable(GPUShader *shader);
*
* PSOs require descriptors containing information on the render state for a given shader, which
* includes input vertex data layout and output pixel formats, along with some state such as
* blend mode and colour output masks. As this state information is usually consistent between
* blend mode and color output masks. As this state information is usually consistent between
* similar draws, we can assign a parent shader and use this shader's cached pipeline state's to
* prime compilations.
*
* Shaders do not necessarily have to be similar in functionality to be used as a parent, so long
* as the GPUVertFormt and GPUFrameBuffer which they are used with remain the same. Other bindings
* such as textures, uniforms and UBOs are all assigned independently as dynamic state.
* as the #GPUVertFormt and #GPUFrameBuffer which they are used with remain the same.
* Other bindings such as textures, uniforms and UBOs are all assigned independently as dynamic
* state.
*
* This function should be called asynchronously, mitigating the impact of run-time stuttering from
* dynamic compilation of PSOs during normal rendering.

View File

@ -256,7 +256,7 @@ class GPUCodegen {
ListBase ubo_inputs_ = {nullptr, nullptr};
GPUInput *cryptomatte_input_ = nullptr;
/** Cache paramters for complexity heuristic. */
/** Cache parameters for complexity heuristic. */
uint nodes_total_ = 0;
uint textures_total_ = 0;
uint uniforms_total_ = 0;
@ -477,7 +477,7 @@ void GPUCodegen::generate_library()
GPUCodegenCreateInfo &info = *create_info;
void *value;
/* Iterate over libraries. We need to keep this struct intact incase
/* Iterate over libraries. We need to keep this struct intact in case
* it is required for the optimization pass. */
GHashIterator *ihash = BLI_ghashIterator_new((GHash *)graph.used_libraries);
while (!BLI_ghashIterator_done(ihash)) {
@ -721,7 +721,7 @@ GPUPass *GPU_generate_pass(GPUMaterial *material,
/** Cache lookup: Reuse shaders already compiled.
* NOTE: We only perform cache look-up for non-optimized shader
* graphs, as baked constant data amongst other optimizations will generate too many
* graphs, as baked constant data among other optimizations will generate too many
* shader source permutations, with minimal re-usability. */
pass_hash = gpu_pass_cache_lookup(codegen.hash_get());
@ -777,7 +777,7 @@ GPUPass *GPU_generate_pass(GPUMaterial *material,
pass->compiled = false;
/* Only flag pass optimization hint if this is the first generated pass for a material.
* Optimized passes cannot be optimized further, even if the heuristic is still not
* favourable. */
* favorable. */
pass->should_optimize = (!optimize_graph) && codegen.should_optimize_heuristic();
codegen.create_info = nullptr;

View File

@ -122,7 +122,7 @@ struct GPUMaterial {
/** Default material reference used for PSO cache warming. Default materials may perform
* different operations, but the permutation will frequently share the same input PSO
* descriptors. This enables async PSO compilation as part of the deferred compiltion
* descriptors. This enables asynchronous PSO compilation as part of the deferred compilation
* pass, reducing runtime stuttering and responsiveness while compiling materials. */
GPUMaterial *default_mat;
@ -951,7 +951,7 @@ void GPU_material_compile(GPUMaterial *mat)
*
* As PSOs do not always match for default shaders, we limit warming for PSO
* configurations to ensure compile time remains fast, as these first
* entries will be the most commonly used PSOs. As not all PSOs are necesasrily
* entries will be the most commonly used PSOs. As not all PSOs are necessarily
* required immediately, this limit should remain low (1-3 at most).
* */
if (mat->default_mat != NULL && mat->default_mat != mat) {

View File

@ -793,7 +793,7 @@ MTLRenderPipelineStateInstance *MTLShader::bake_current_pipeline_state(
}
/* Variant which bakes a pipeline state based on an an existing MTLRenderPipelineStateDescriptor.
* This function should be callable from a secondary compilatiom thread. */
* This function should be callable from a secondary compilation thread. */
MTLRenderPipelineStateInstance *MTLShader::bake_pipeline_state(
MTLContext *ctx,
MTLPrimitiveTopologyClass prim_type,