i965/blorp: Add a blorp_context struct and init/finish funcs

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
This commit is contained in:
Jason Ekstrand 2016-08-15 15:07:22 -07:00
parent cd18bbeef3
commit a14d1b63ce
6 changed files with 42 additions and 0 deletions

View file

@ -30,6 +30,20 @@
#include "brw_nir.h"
#include "brw_state.h"
void
blorp_init(struct blorp_context *blorp, void *driver_ctx,
struct isl_device *isl_dev)
{
blorp->driver_ctx = driver_ctx;
blorp->isl_dev = isl_dev;
}
void
blorp_finish(struct blorp_context *blorp)
{
blorp->driver_ctx = NULL;
}
void
brw_blorp_surface_info_init(struct brw_context *brw,
struct brw_blorp_surface_info *info,

View file

@ -37,6 +37,16 @@ struct brw_wm_prog_key;
extern "C" {
#endif
struct blorp_context {
void *driver_ctx;
const struct isl_device *isl_dev;
};
void blorp_init(struct blorp_context *blorp, void *driver_ctx,
struct isl_device *isl_dev);
void blorp_finish(struct blorp_context *blorp);
struct brw_blorp_surf
{
const struct isl_surf *surf;

View file

@ -37,6 +37,12 @@
#define FILE_DEBUG_FLAG DEBUG_BLORP
void
brw_blorp_init(struct brw_context *brw)
{
blorp_init(&brw->blorp, brw, &brw->isl_dev);
}
static void
apply_gen6_stencil_hiz_offset(struct isl_surf *surf,
struct intel_mipmap_tree *mt,

View file

@ -31,6 +31,8 @@
extern "C" {
#endif
void brw_blorp_init(struct brw_context *brw);
void
brw_blorp_blit_miptrees(struct brw_context *brw,
struct intel_mipmap_tree *src_mt,

View file

@ -51,6 +51,7 @@
#include "brw_context.h"
#include "brw_defines.h"
#include "brw_blorp.h"
#include "brw_compiler.h"
#include "brw_draw.h"
#include "brw_state.h"
@ -1048,6 +1049,9 @@ brwCreateContext(gl_api api,
brw_init_surface_formats(brw);
if (brw->gen >= 6)
brw_blorp_init(brw);
brw->max_vs_threads = devinfo->max_vs_threads;
brw->max_hs_threads = devinfo->max_hs_threads;
brw->max_ds_threads = devinfo->max_ds_threads;
@ -1130,6 +1134,9 @@ intelDestroyContext(__DRIcontext * driContextPriv)
brw_destroy_shader_time(brw);
}
if (brw->gen >= 6)
blorp_finish(&brw->blorp);
brw_destroy_state(brw);
brw_draw_destroy(brw);

View file

@ -41,6 +41,7 @@
#include "intel_aub.h"
#include "isl/isl.h"
#include "blorp.h"
#ifdef __cplusplus
extern "C" {
@ -893,6 +894,8 @@ struct brw_context
struct isl_device isl_dev;
struct blorp_context blorp;
GLuint NewGLState;
struct {
struct brw_state_flags pipelines[BRW_NUM_PIPELINES];