summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2020-08-18 15:16:37 +0300
committerDylan Baker <dylan.c.baker@intel.com>2020-08-21 12:55:35 -0700
commitf7a4d89b194baca049ace747b19087acd466f191 (patch)
treedc75793734873973cb07c80b9514b5c21cc579d7
parentd74b2bf797bcaf9913ff909314ccd76e3a848598 (diff)
anv: null check for buffer before reading size
v2: move assignment under existing check (Nanley) Fixes: b9a05447a19 ("anv: dynamic vertex input binding stride and size support") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6369> (cherry picked from commit 709dffa856682b706e516dd324e2f5129a127e8e)
-rw-r--r--.pick_status.json2
-rw-r--r--src/intel/vulkan/genX_cmd_buffer.c10
2 files changed, 6 insertions, 6 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 1f5634c3a16..cb53afb72d9 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -805,7 +805,7 @@
"description": "anv: null check for buffer before reading size",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "b9a05447a1976101c04a02f5588c51de0b0f6573"
},
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 7afaeca366b..4522f5d2aef 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -3344,13 +3344,13 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer)
bool dynamic_stride = cmd_buffer->state.gfx.dynamic.dyn_vbo_stride;
bool dynamic_size = cmd_buffer->state.gfx.dynamic.dyn_vbo_size;
- uint32_t stride = dynamic_stride ?
- cmd_buffer->state.vertex_bindings[vb].stride : pipeline->vb[vb].stride;
- uint32_t size = dynamic_size ?
- cmd_buffer->state.vertex_bindings[vb].size : buffer->size;
-
struct GENX(VERTEX_BUFFER_STATE) state;
if (buffer) {
+ uint32_t stride = dynamic_stride ?
+ cmd_buffer->state.vertex_bindings[vb].stride : pipeline->vb[vb].stride;
+ uint32_t size = dynamic_size ?
+ cmd_buffer->state.vertex_bindings[vb].size : buffer->size;
+
state = (struct GENX(VERTEX_BUFFER_STATE)) {
.VertexBufferIndex = vb,