i965: Create a hardware context before initializing state module.

brw_init_state() calls brw_upload_initial_gpu_state().  If hardware
contexts are enabled (brw->hw_ctx != NULL), this will upload some
initial invariant state for the GPU.  Without hardware contexts, we
rely on this state being uploaded via atoms that subscribe to the
BRW_NEW_CONTEXT bit.

Commit 46d3c2bf4d accidentally moved
the call to brw_init_state() before creating a hardware context.
This meant brw_upload_initial_gpu_state would always early return.
Except on Gen6+, we stopped uploading the initial GPU state via
state atoms, so it never happened.

Fixes a regression since 46d3c2bf4d.

Cc: "10.0 10.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Kenneth Graunke 2014-02-19 17:20:11 -08:00
parent e3823147a5
commit 3663bbe773
1 changed files with 6 additions and 6 deletions

View File

@ -700,12 +700,6 @@ brwCreateContext(gl_api api,
intel_batchbuffer_init(brw);
brw_init_state(brw);
intelInitExtensions(ctx);
intel_fbo_init(brw);
if (brw->gen >= 6) {
/* Create a new hardware context. Using a hardware context means that
* our GPU state will be saved/restored on context switch, allowing us
@ -723,6 +717,12 @@ brwCreateContext(gl_api api,
}
}
brw_init_state(brw);
intelInitExtensions(ctx);
intel_fbo_init(brw);
brw_init_surface_formats(brw);
if (brw->is_g4x || brw->gen >= 5) {