projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit mesa-public/master into vulkan
[mesa.git]
/
src
/
vulkan
/
anv_pipeline.c
diff --git
a/src/vulkan/anv_pipeline.c
b/src/vulkan/anv_pipeline.c
index d66987f1a8c7e6edf52c50825807354dac180677..3c5072ba924e22fd8fc720687631d8b6d182500c 100644
(file)
--- a/
src/vulkan/anv_pipeline.c
+++ b/
src/vulkan/anv_pipeline.c
@@
-30,7
+30,7
@@
#include "anv_private.h"
#include "brw_nir.h"
#include "anv_nir.h"
#include "anv_private.h"
#include "brw_nir.h"
#include "anv_nir.h"
-#include "
glsl/
nir/spirv/nir_spirv.h"
+#include "nir/spirv/nir_spirv.h"
/* Needed for SWIZZLE macros */
#include "program/prog_instruction.h"
/* Needed for SWIZZLE macros */
#include "program/prog_instruction.h"
@@
-171,7
+171,9
@@
anv_shader_compile_to_nir(struct anv_device *device,
nir_shader_gather_info(nir, entry_point->impl);
nir_shader_gather_info(nir, entry_point->impl);
- uint32_t indirect_mask = (1 << nir_var_shader_in);
+ uint32_t indirect_mask = 0;
+ if (compiler->glsl_compiler_options[stage].EmitNoIndirectInput)
+ indirect_mask |= (1 << nir_var_shader_in);
if (compiler->glsl_compiler_options[stage].EmitNoIndirectTemp)
indirect_mask |= 1 << nir_var_local;
if (compiler->glsl_compiler_options[stage].EmitNoIndirectTemp)
indirect_mask |= 1 << nir_var_local;
@@
-1075,9
+1077,6
@@
anv_pipeline_init(struct anv_pipeline *pipeline,
if (pCreateInfo->pTessellationState)
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO");
if (pCreateInfo->pTessellationState)
anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO");
- if (pCreateInfo->pMultisampleState &&
- pCreateInfo->pMultisampleState->rasterizationSamples > 1)
- anv_finishme("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO");
pipeline->use_repclear = extra && extra->use_repclear;
pipeline->writes_point_size = false;
pipeline->use_repclear = extra && extra->use_repclear;
pipeline->writes_point_size = false;
@@
-1091,6
+1090,7
@@
anv_pipeline_init(struct anv_pipeline *pipeline,
pipeline->vs_simd8 = NO_KERNEL;
pipeline->vs_vec4 = NO_KERNEL;
pipeline->gs_kernel = NO_KERNEL;
pipeline->vs_simd8 = NO_KERNEL;
pipeline->vs_vec4 = NO_KERNEL;
pipeline->gs_kernel = NO_KERNEL;
+ pipeline->ps_ksp0 = NO_KERNEL;
pipeline->active_stages = 0;
pipeline->total_scratch = 0;
pipeline->active_stages = 0;
pipeline->total_scratch = 0;
@@
-1179,6
+1179,10
@@
anv_pipeline_init(struct anv_pipeline *pipeline,
if (extra && extra->use_rectlist)
pipeline->topology = _3DPRIM_RECTLIST;
if (extra && extra->use_rectlist)
pipeline->topology = _3DPRIM_RECTLIST;
+ while (anv_block_pool_size(&device->scratch_block_pool) <
+ pipeline->total_scratch)
+ anv_block_pool_alloc(&device->scratch_block_pool);
+
return VK_SUCCESS;
}
return VK_SUCCESS;
}