st/nine: Drop USER_INDEX_BUFFERS check
authorMike Lothian <mike@fireburn.co.uk>
Sat, 25 Feb 2017 11:50:44 +0000 (11:50 +0000)
committerEdward O'Callaghan <funfunctor@folklore1984.net>
Sat, 25 Feb 2017 12:20:18 +0000 (23:20 +1100)
This fixes 4a883966c1f74f43afc145d2c3d27af7b8c5e01a where the
PIPE_CAP was removed.

Now USER_INDEX_BUFFERS are always enabled remove the check and only
check for cmst_active directly.

v2: Axel pointed out the code was still needed when cmst was inactive,
    Rebase on master too
v3: Drop struct member user_ibufs also && fixup shortlog (Edward).
v4: Fix negation
v5: Use the right variable name csmt != cmst

Fixes: 4a883966c1f7 ("gallium: remove PIPE_CAP_USER_INDEX_BUFFERS")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99953
Reported-and-tested-by: Vinson Lee <vlee@freedesktop.org> (v1)
Cc: Marek Olšák <marek.olsak@amd.com>
Cc: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Signed-off-by: Mike Lothian <mike@fireburn.co.uk>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
src/gallium/state_trackers/nine/device9.c
src/gallium/state_trackers/nine/device9.h

index c3924a21e22476bc299e94aef6b01f402e6ed85c..843716207d665e8f5cdf567e98dac8f455fb674a 100644 (file)
@@ -473,7 +473,6 @@ NineDevice9_ctor( struct NineDevice9 *This,
     /* Allocate upload helper for drivers that suck (from st pov ;). */
 
     This->driver_caps.user_vbufs = GET_PCAP(USER_VERTEX_BUFFERS) && !This->csmt_active;
-    This->driver_caps.user_ibufs = GET_PCAP(USER_INDEX_BUFFERS) && !This->csmt_active;
     This->driver_caps.user_cbufs = GET_PCAP(USER_CONSTANT_BUFFERS);
     This->driver_caps.user_sw_vbufs = This->screen_sw->get_param(This->screen_sw, PIPE_CAP_USER_VERTEX_BUFFERS);
     This->driver_caps.user_sw_cbufs = This->screen_sw->get_param(This->screen_sw, PIPE_CAP_USER_CONSTANT_BUFFERS);
@@ -2896,7 +2895,7 @@ NineDevice9_DrawIndexedPrimitiveUP( struct NineDevice9 *This,
         vbuf.buffer_offset -= base;
         vbuf.user_buffer = NULL;
     }
-    if (!This->driver_caps.user_ibufs) {
+    if (This->csmt_active) {
         u_upload_data(This->context.pipe->stream_uploader,
                       0,
                       (prim_count_to_vertex_count(PrimitiveType, PrimitiveCount)) * ibuf.index_size,
index 71ebbdc935bba61354a51adcf145180012280088..4b1630c40f9a61ecc9d98c8aa76aa27c66988457 100644 (file)
@@ -127,7 +127,6 @@ struct NineDevice9
 
     struct {
         boolean user_vbufs;
-        boolean user_ibufs;
         boolean user_cbufs;
         boolean user_sw_vbufs;
         boolean user_sw_cbufs;