X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fi965%2Fbrw_context.h;h=f278c5302ba12a236abd418f8db476ca594ccf19;hb=5314afa27aa8d9260ed0b0a42a6d6050313953da;hp=21894cdd89a59dda8c7099ee3fd3ab8f99953e72;hpb=e43043c316a8274f5f07a8cf818960ef1387a788;p=mesa.git diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 21894cdd89a..f278c5302ba 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -802,18 +802,67 @@ struct brw_context } vtbl; - /** drirc option cache */ + dri_bufmgr *bufmgr; + + drm_intel_context *hw_ctx; + + struct intel_batchbuffer batch; + + /** + * Set if rendering has occured to the drawable's front buffer. + * + * This is used in the DRI2 case to detect that glFlush should also copy + * the contents of the fake front buffer to the real front buffer. + */ + bool front_buffer_dirty; + + /** + * Track whether front-buffer rendering is currently enabled + * + * A separate flag is used to track this in order to support MRT more + * easily. + */ + bool is_front_buffer_rendering; + + /** + * Track whether front-buffer is the current read target. + * + * This is closely associated with is_front_buffer_rendering, but may + * be set separately. The DRI2 fake front buffer must be referenced + * either way. + */ + bool is_front_buffer_reading; + + /** Framerate throttling: @{ */ + drm_intel_bo *first_post_swapbuffers_batch; + bool need_throttle; + /** @} */ + + GLuint stats_wm; + + /** + * drirc options: + * @{ + */ + bool no_rast; + bool always_flush_batch; + bool always_flush_cache; + bool disable_throttling; + bool precompile; + driOptionCache optionCache; + /** @} */ GLuint primitive; /**< Hardware primitive, such as _3DPRIM_TRILIST. */ + GLenum reduced_primitive; + bool emit_state_always; bool has_surface_tile_offset; bool has_compr4; bool has_negative_rhw_bug; bool has_aa_line_parameters; bool has_pln; - bool precompile; /** * Some versions of Gen hardware don't do centroid interpolation correctly @@ -1371,7 +1420,7 @@ brw_program_reloc(struct brw_context *brw, uint32_t state_offset, return prog_offset; } - drm_intel_bo_emit_reloc(intel->batch.bo, + drm_intel_bo_emit_reloc(brw->batch.bo, state_offset, brw->cache.bo, prog_offset,