projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote branch 'origin/gallium-st-api-dri'
[mesa.git]
/
src
/
mesa
/
drivers
/
dri
/
i965
/
brw_gs_state.c
diff --git
a/src/mesa/drivers/dri/i965/brw_gs_state.c
b/src/mesa/drivers/dri/i965/brw_gs_state.c
index a761c03153cd0a777d68327059122b963be5c08b..d8ad5cecf3fe422fc0ffec9932ef39dfab7f60ef 100644
(file)
--- a/
src/mesa/drivers/dri/i965/brw_gs_state.c
+++ b/
src/mesa/drivers/dri/i965/brw_gs_state.c
@@
-34,7
+34,6
@@
#include "brw_context.h"
#include "brw_state.h"
#include "brw_defines.h"
#include "brw_context.h"
#include "brw_state.h"
#include "brw_defines.h"
-#include "main/macros.h"
struct brw_gs_unit_key {
unsigned int total_grf;
struct brw_gs_unit_key {
unsigned int total_grf;
@@
-72,6
+71,7
@@
gs_unit_populate_key(struct brw_context *brw, struct brw_gs_unit_key *key)
static dri_bo *
gs_unit_create_from_key(struct brw_context *brw, struct brw_gs_unit_key *key)
{
static dri_bo *
gs_unit_create_from_key(struct brw_context *brw, struct brw_gs_unit_key *key)
{
+ struct intel_context *intel = &brw->intel;
struct brw_gs_unit_state gs;
dri_bo *bo;
struct brw_gs_unit_state gs;
dri_bo *bo;
@@
-93,9
+93,12
@@
gs_unit_create_from_key(struct brw_context *brw, struct brw_gs_unit_key *key)
gs.thread4.nr_urb_entries = key->nr_urb_entries;
gs.thread4.urb_entry_allocation_size = key->urb_size - 1;
gs.thread4.nr_urb_entries = key->nr_urb_entries;
gs.thread4.urb_entry_allocation_size = key->urb_size - 1;
- gs.thread4.max_threads = 0; /* Hardware requirement */
+ if (key->nr_urb_entries >= 8)
+ gs.thread4.max_threads = 1;
+ else
+ gs.thread4.max_threads = 0;
- if (
BRW_IS_IGDNG(brw)
)
+ if (
intel->is_ironlake
)
gs.thread4.rendering_enable = 1;
if (INTEL_DEBUG & DEBUG_STATS)
gs.thread4.rendering_enable = 1;
if (INTEL_DEBUG & DEBUG_STATS)
@@
-104,8
+107,7
@@
gs_unit_create_from_key(struct brw_context *brw, struct brw_gs_unit_key *key)
bo = brw_upload_cache(&brw->cache, BRW_GS_UNIT,
key, sizeof(*key),
&brw->gs.prog_bo, 1,
bo = brw_upload_cache(&brw->cache, BRW_GS_UNIT,
key, sizeof(*key),
&brw->gs.prog_bo, 1,
- &gs, sizeof(gs),
- NULL, NULL);
+ &gs, sizeof(gs));
if (key->prog_active) {
/* Emit GS program relocation */
if (key->prog_active) {
/* Emit GS program relocation */