summaryrefslogtreecommitdiff
path: root/lib/mesa/src/gallium/state_trackers/nine/device9.h
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2018-01-08 05:41:34 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2018-01-08 05:41:34 +0000
commitc00801de923e125863aaf8180439d59d610b2517 (patch)
treee2896aa2785f3cf2151aeeb3c95fb5cc09a2fe02 /lib/mesa/src/gallium/state_trackers/nine/device9.h
parentbe30e6efb92db21299b936c0e068e7088941e9c9 (diff)
Revert to Mesa 13.0.6 again.
Corruption has again been reported on Intel hardware running Xorg with the modesetting driver (which uses OpenGL based acceleration instead of SNA acceleration the intel driver defaults to). Reported in various forms on Sandy Bridge (X220), Ivy Bridge (X230) and Haswell (X240). Confirmed to not occur with the intel driver but the xserver was changed to default to the modesetting driver on >= gen4 hardware (except Ironlake). One means of triggering this is to open a large pdf with xpdf on an idle machine and highlight a section of the document. There have been reports of gpu hangs on gen4 intel hardware (T500 with GM45, X61 with 965GM) when starting Xorg as well.
Diffstat (limited to 'lib/mesa/src/gallium/state_trackers/nine/device9.h')
-rw-r--r--lib/mesa/src/gallium/state_trackers/nine/device9.h23
1 files changed, 10 insertions, 13 deletions
diff --git a/lib/mesa/src/gallium/state_trackers/nine/device9.h b/lib/mesa/src/gallium/state_trackers/nine/device9.h
index c5fd8f76c..12be643dc 100644
--- a/lib/mesa/src/gallium/state_trackers/nine/device9.h
+++ b/lib/mesa/src/gallium/state_trackers/nine/device9.h
@@ -38,7 +38,6 @@ struct pipe_context;
struct cso_context;
struct hud_context;
struct u_upload_mgr;
-struct csmt_context;
struct NineSwapChain9;
struct NineStateBlock9;
@@ -53,19 +52,12 @@ struct NineDevice9
/* G3D context */
struct pipe_screen *screen;
- /* For first time upload. No Sync with rendering thread */
- struct pipe_context *pipe_secondary;
struct pipe_screen *screen_sw;
+ struct pipe_context *pipe;
struct pipe_context *pipe_sw;
+ struct cso_context *cso;
struct cso_context *cso_sw;
- /* CSMT context */
- struct csmt_context *csmt_ctx;
- BOOL csmt_active;
-
- /* For DISCARD/NOOVERWRITE */
- struct nine_buffer_upload *buffer_upload;
-
/* creation parameters */
D3DCAPS9 caps;
D3DDEVICE_CREATION_PARAMETERS params;
@@ -79,8 +71,6 @@ struct NineDevice9
struct NineStateBlock9 *record;
struct nine_state *update; /* state to update (&state / &record->state) */
struct nine_state state; /* device state */
- struct nine_context context;
- struct nine_state_sw_internal state_sw_internal;
struct list_head update_buffers;
struct list_head update_textures;
@@ -122,11 +112,11 @@ struct NineDevice9
POINT pos;
BOOL visible;
boolean software;
- void *hw_upload_temp;
} cursor;
struct {
boolean user_vbufs;
+ boolean user_ibufs;
boolean user_cbufs;
boolean user_sw_vbufs;
boolean user_sw_cbufs;
@@ -141,6 +131,10 @@ struct NineDevice9
} driver_bugs;
struct u_upload_mgr *vertex_uploader;
+ struct u_upload_mgr *index_uploader;
+ struct u_upload_mgr *constbuf_uploader;
+ struct u_upload_mgr *vertex_sw_uploader;
+ struct u_upload_mgr *constbuf_sw_uploader;
unsigned constbuf_alignment;
struct nine_range_pool range_pool;
@@ -204,6 +198,9 @@ NineDevice9_GetScreen( struct NineDevice9 *This );
struct pipe_context *
NineDevice9_GetPipe( struct NineDevice9 *This );
+struct cso_context *
+NineDevice9_GetCSO( struct NineDevice9 *This );
+
const D3DCAPS9 *
NineDevice9_GetCaps( struct NineDevice9 *This );