---
 .../state_trackers/d3d1x/gd3d11/d3d11_screen.h     |    9 ++++---
 .../state_trackers/d3d1x/gd3d1x/d3d_enums.cpp      |   26 ++++++++++----------
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h 
b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h
index b1604b3..9a65f62 100644
--- a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h
+++ b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h
@@ -1567,10 +1567,10 @@ struct GalliumD3D11ScreenImpl : public 
GalliumD3D11Screen
                if(invalid(query_desc->Query >= D3D11_QUERY_COUNT))
                        return E_INVALIDARG;
                unsigned query_type = d3d11_to_pipe_query[query_desc->Query];
-               if(!query_type)
+               if(query_type >= PIPE_QUERY_TYPES)
                        return E_NOTIMPL;
 
-               if(out_query)
+               if(!out_query)
                        return S_FALSE;
 
                struct pipe_query* query = 
immediate_pipe->create_query(immediate_pipe, query_type);
@@ -1591,9 +1591,10 @@ struct GalliumD3D11ScreenImpl : public GalliumD3D11Screen
                switch(predicate_desc->Query)
                {
                case D3D11_QUERY_SO_OVERFLOW_PREDICATE:
-                       return E_NOTIMPL;
+                       query_type = PIPE_QUERY_SO_OVERFLOW_PREDICATE;
+                       break;
                case D3D11_QUERY_OCCLUSION_PREDICATE:
-                       query_type = PIPE_QUERY_OCCLUSION_COUNTER;
+                       query_type = PIPE_QUERY_OCCLUSION_PREDICATE;
                        break;
                default:
                        return E_INVALIDARG;
diff --git a/src/gallium/state_trackers/d3d1x/gd3d1x/d3d_enums.cpp 
b/src/gallium/state_trackers/d3d1x/gd3d1x/d3d_enums.cpp
index 853d114..b8b3676 100644
--- a/src/gallium/state_trackers/d3d1x/gd3d1x/d3d_enums.cpp
+++ b/src/gallium/state_trackers/d3d1x/gd3d1x/d3d_enums.cpp
@@ -85,21 +85,21 @@ unsigned d3d11_to_pipe_query[D3D11_QUERY_COUNT] =
 {
        PIPE_QUERY_GPU_FINISHED,
        PIPE_QUERY_OCCLUSION_COUNTER,
-       PIPE_QUERY_TIME_ELAPSED,
+       PIPE_QUERY_TIMESTAMP,
        PIPE_QUERY_TIMESTAMP_DISJOINT,
-       0, /* D3D11_QUERY_PIPELINE_STATISTICS */
-       PIPE_QUERY_OCCLUSION_COUNTER,
+       PIPE_QUERY_PIPELINE_STATISTICS,
+       PIPE_QUERY_OCCLUSION_PREDICATE,
        PIPE_QUERY_SO_STATISTICS,
-       0, /* D3D11_QUERY_SO_OVERFLOW_PREDICATE */
+       PIPE_QUERY_SO_OVERFLOW_PREDICATE,
        /* per-stream SO queries */
-       0,
-       0,
-       0,
-       0,
-       0,
-       0,
-       0,
-       0,
+       PIPE_QUERY_TYPES,
+       PIPE_QUERY_TYPES,
+       PIPE_QUERY_TYPES,
+       PIPE_QUERY_TYPES,
+       PIPE_QUERY_TYPES,
+       PIPE_QUERY_TYPES,
+       PIPE_QUERY_TYPES,
+       PIPE_QUERY_TYPES,
 };
 
 unsigned d3d11_query_size[D3D11_QUERY_COUNT] =
@@ -108,7 +108,7 @@ unsigned d3d11_query_size[D3D11_QUERY_COUNT] =
                sizeof(UINT64),
                sizeof(UINT64),
                sizeof(UINT64),
-               0,
+               sizeof(D3D11_QUERY_DATA_PIPELINE_STATISTICS),
                sizeof(BOOL),
                sizeof(D3D11_QUERY_DATA_SO_STATISTICS),
                0,
-- 
1.7.3.4

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to