Displaying 2 results from an estimated 2 matches for "constbuf_valid".
2014 Jul 01
1
[PATCH 1/2] nv50: do an explicit flush on draw when there are persistent buffers
...*pipe, unsigned flags)
if (nv50->idxbuf.buffer &&
nv50->idxbuf.buffer->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT)
nv50->base.vbo_dirty = TRUE;
+
+ for (s = 0; s < 3 && !nv50->cb_dirty; ++s) {
+ uint32_t valid = nv50->constbuf_valid[s];
+
+ while (valid && !nv50->cb_dirty) {
+ const unsigned i = ffs(valid) - 1;
+ struct pipe_resource *res;
+
+ valid &= ~(1 << i);
+ if (nv50->constbuf[s][i].user)
+ continue;
+
+ res = nv50->c...
2014 Nov 16
1
[PATCH 1/2] nv50, nvc0: actually check constbufs for invalidation
...if (res->bind & PIPE_BIND_CONSTANT_BUFFER) {
for (s = 0; s < 3; ++s) {
- assert(nv50->num_vtxbufs <= NV50_MAX_PIPE_CONSTBUFS);
- for (i = 0; i < nv50->num_vtxbufs; ++i) {
+ for (i = 0; i < NV50_MAX_PIPE_CONSTBUFS; ++i) {
+ if (!(nv50->constbuf_valid[s] & (1 << i)))
+ continue;
if (!nv50->constbuf[s][i].user &&
nv50->constbuf[s][i].u.buf == res) {
nv50->dirty |= NV50_NEW_CONSTBUF;
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c b/src/gallium/drivers/nouveau/...