#include "xorg_exa.h"
#include "xorg_tracker.h"
#include "xorg_composite.h"
+#include "xorg_exa_tgsi.h"
#include <xorg-server.h>
#include <xf86.h>
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);
ms->ctx = exa->ctx;
exa->cso = cso_create_context(exa->ctx);
+ exa->shaders = xorg_shaders_create(exa);
return (void *)exa;
#include "xorg_tracker.h"
struct cso_context;
+struct xorg_shaders;
struct exa_context
{
struct pipe_context *ctx;
struct pipe_screen *scrn;
struct cso_context *cso;
+ struct xorg_shaders *shaders;
};