r300g: add blacklist for apps that shouldn't steal hyperz access

This commit is contained in:
Marek Olšák 2012-12-02 19:26:16 +01:00
parent 12dcbd5954
commit 838b19609f
1 changed files with 28 additions and 0 deletions

View File

@ -24,12 +24,38 @@
#include "r300_chipset.h"
#include "util/u_debug.h"
#include "util/u_memory.h"
#include <stdio.h>
#include <errno.h>
/* r300_chipset: A file all to itself for deducing the various properties of
* Radeons. */
static void r300_apply_hyperz_blacklist(struct r300_capabilities* caps)
{
static const char *list[] = {
"X", /* the DDX or indirect rendering */
"Xorg", /* (alternative name) */
"check_gl_texture_size", /* compiz */
"Compiz",
"gnome-session-check-accelerated-helper",
"gnome-shell",
"kwin_opengl_test",
"kwin",
"firefox",
};
int i;
for (i = 0; i < Elements(list); i++) {
if (strcmp(list[i], program_invocation_short_name) == 0) {
caps->zmask_ram = 0;
caps->hiz_ram = 0;
break;
}
}
}
/* Parse a PCI ID and fill an r300_capabilities struct with information. */
void r300_parse_chipset(uint32_t pci_id, struct r300_capabilities* caps)
{
@ -138,4 +164,6 @@ void r300_parse_chipset(uint32_t pci_id, struct r300_capabilities* caps)
if (caps->has_tcl) {
caps->has_tcl = debug_get_bool_option("RADEON_NO_TCL", FALSE) ? FALSE : TRUE;
}
r300_apply_hyperz_blacklist(caps);
}