summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/radeonsi_pipe.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/radeonsi/radeonsi_pipe.h')
-rw-r--r--src/gallium/drivers/radeonsi/radeonsi_pipe.h42
1 files changed, 13 insertions, 29 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.h b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
index 8a9f1ff503d..517925d8650 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_pipe.h
+++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
@@ -26,9 +26,8 @@
#ifndef RADEONSI_PIPE_H
#define RADEONSI_PIPE_H
-#include "../../winsys/radeon/drm/radeon_winsys.h"
+#include "../radeon/r600_pipe_common.h"
-#include "pipe/p_state.h"
#include "pipe/p_screen.h"
#include "pipe/p_context.h"
#include "util/u_format.h"
@@ -50,10 +49,12 @@
#define R600_TRACE_CS 0
#define R600_TRACE_CS_DWORDS 6
+#define SI_MAX_DRAW_CS_DWORDS 18
+
struct si_pipe_compute;
struct r600_pipe_fences {
- struct si_resource *bo;
+ struct r600_resource *bo;
unsigned *data;
unsigned next_index;
/* linked list of preallocated blocks */
@@ -64,16 +65,12 @@ struct r600_pipe_fences {
};
struct r600_screen {
- struct pipe_screen screen;
- struct radeon_winsys *ws;
- unsigned family;
- enum chip_class chip_class;
- struct radeon_info info;
+ struct r600_common_screen b;
struct r600_tiling_info tiling_info;
struct util_slab_mempool pool_buffers;
struct r600_pipe_fences fences;
#if R600_TRACE_CS
- struct si_resource *trace_bo;
+ struct r600_resource *trace_bo;
uint32_t *trace_ptr;
unsigned cs_count;
#endif
@@ -81,7 +78,7 @@ struct r600_screen {
struct si_pipe_sampler_view {
struct pipe_sampler_view base;
- struct si_resource *resource;
+ struct r600_resource *resource;
uint32_t state[8];
uint32_t fmask_state[8];
};
@@ -107,7 +104,7 @@ struct r600_textures_info {
struct r600_fence {
struct pipe_reference reference;
unsigned index; /* in the shared bo */
- struct si_resource *sleep_bo;
+ struct r600_resource *sleep_bo;
struct list_head head;
};
@@ -129,10 +126,8 @@ struct r600_constbuf_state
#define SI_NUM_SHADERS (PIPE_SHADER_FRAGMENT+1)
struct r600_context {
- struct pipe_context context;
+ struct r600_common_context b;
struct blitter_context *blitter;
- enum radeon_family family;
- enum chip_class chip_class;
void *custom_dsa_flush_depth_stencil[8];
void *custom_dsa_flush_depth[8];
void *custom_dsa_flush_stencil[8];
@@ -140,13 +135,12 @@ struct r600_context {
void *custom_blend_resolve;
void *custom_blend_decompress;
struct r600_screen *screen;
- struct radeon_winsys *ws;
union {
struct {
- struct si_atom *sampler_views[SI_NUM_SHADERS];
+ struct r600_atom *sampler_views[SI_NUM_SHADERS];
};
- struct si_atom *array[0];
+ struct r600_atom *array[0];
} atoms;
struct si_vertex_element *vertex_elements;
@@ -172,7 +166,7 @@ struct r600_context {
unsigned export_16bpc;
struct r600_constbuf_state constbuf_state[PIPE_SHADER_TYPES];
struct r600_textures_info samplers[SI_NUM_SHADERS];
- struct si_resource *border_color_table;
+ struct r600_resource *border_color_table;
unsigned border_color_offset;
struct u_upload_mgr *uploader;
@@ -182,8 +176,6 @@ struct r600_context {
/* Below are variables from the old r600_context.
*/
- struct radeon_winsys_cs *cs;
-
unsigned pm4_dirty_cdwords;
/* The list of active queries. Only one query of each type can be active. */
@@ -235,7 +227,7 @@ void r600_decompress_color_textures(struct r600_context *rctx,
/* r600_buffer.c */
bool si_init_resource(struct r600_screen *rscreen,
- struct si_resource *res,
+ struct r600_resource *res,
unsigned size, unsigned alignment,
boolean use_reusable_pool, unsigned usage);
struct pipe_resource *si_buffer_create(struct pipe_screen *screen,
@@ -321,12 +313,4 @@ static INLINE unsigned r600_pack_float_12p4(float x)
x >= 4096 ? 0xffff : x * 16;
}
-static INLINE uint64_t r600_resource_va(struct pipe_screen *screen, struct pipe_resource *resource)
-{
- struct r600_screen *rscreen = (struct r600_screen*)screen;
- struct si_resource *rresource = (struct si_resource*)resource;
-
- return rscreen->ws->buffer_get_virtual_address(rresource->cs_buf);
-}
-
#endif