Kaynağa Gözat

llvmpipe: Take in consideration all current constant buffers when mapping.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
tags/mesa-9.2-rc1
José Fonseca 12 yıl önce
ebeveyn
işleme
b72ff373fb
1 değiştirilmiş dosya ile 9 ekleme ve 3 silme
  1. 9
    3
      src/gallium/drivers/llvmpipe/lp_texture.c

+ 9
- 3
src/gallium/drivers/llvmpipe/lp_texture.c Dosyayı Görüntüle

@@ -669,9 +669,15 @@ llvmpipe_transfer_map( struct pipe_context *pipe,

/* Check if we're mapping the current constant buffer */
if ((usage & PIPE_TRANSFER_WRITE) &&
resource == llvmpipe->constants[PIPE_SHADER_FRAGMENT][0].buffer) {
/* constants may have changed */
llvmpipe->dirty |= LP_NEW_CONSTANTS;
(resource->bind & PIPE_BIND_CONSTANT_BUFFER)) {
unsigned i;
for (i = 0; i < Elements(llvmpipe->constants[PIPE_SHADER_FRAGMENT]); ++i) {
if (resource == llvmpipe->constants[PIPE_SHADER_FRAGMENT][i].buffer) {
/* constants may have changed */
llvmpipe->dirty |= LP_NEW_CONSTANTS;
break;
}
}
}

lpt = CALLOC_STRUCT(llvmpipe_transfer);

Loading…
İptal
Kaydet