st/xorg: create and destroy shader cache

This commit is contained in:
Zack Rusin 2009-08-26 18:32:36 -04:00
parent 416ee3c53e
commit 3f15ea866f
2 changed files with 8 additions and 0 deletions

View File

@ -31,6 +31,7 @@
#include "xorg_exa.h"
#include "xorg_tracker.h"
#include "xorg_composite.h"
#include "xorg_exa_tgsi.h"
#include <xorg-server.h>
#include <xf86.h>
@ -523,6 +524,10 @@ xorg_exa_close(ScrnInfoPtr pScrn)
modesettingPtr ms = modesettingPTR(pScrn);
struct exa_context *exa = ms->exa;
if (exa->shaders) {
xorg_shaders_destroy(exa->shaders);
}
if (exa->cso) {
cso_release_all(exa->cso);
cso_destroy_context(exa->cso);
@ -594,6 +599,7 @@ xorg_exa_init(ScrnInfoPtr pScrn)
ms->ctx = exa->ctx;
exa->cso = cso_create_context(exa->ctx);
exa->shaders = xorg_shaders_create(exa);
return (void *)exa;

View File

@ -4,6 +4,7 @@
#include "xorg_tracker.h"
struct cso_context;
struct xorg_shaders;
struct exa_context
{
@ -11,6 +12,7 @@ struct exa_context
struct pipe_context *ctx;
struct pipe_screen *scrn;
struct cso_context *cso;
struct xorg_shaders *shaders;
};