freedreno/ir3: debug cleanup
[mesa.git] / src / gallium / drivers / freedreno / freedreno_state.h
index 4e68448f2294f88094341929317026d8ae422412..0d8d3368ad48cf6a25934df43eeb562a15928c01 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- mode: C; c-file-style: "k&r"; tab-width 4; indent-tabs-mode: t; -*- */
-
 /*
  * Copyright (C) 2012 Rob Clark <robclark@freedesktop.org>
  *
 #define FREEDRENO_STATE_H_
 
 #include "pipe/p_context.h"
+#include "freedreno_context.h"
 
-struct fd_vertexbuf_stateobj;
-struct fd_zsa_stateobj;
-struct fd_framebuffer_stateobj;
-struct fd_ringbuffer;
+static inline bool fd_depth_enabled(struct fd_context *ctx)
+{
+       return ctx->zsa && ctx->zsa->depth.enabled;
+}
 
-void fd_state_init(struct pipe_context *pctx);
+static inline bool fd_depth_write_enabled(struct fd_context *ctx)
+{
+       return ctx->zsa && ctx->zsa->depth.writemask;
+}
+
+static inline bool fd_stencil_enabled(struct fd_context *ctx)
+{
+       return ctx->zsa && ctx->zsa->stencil[0].enabled;
+}
+
+static inline bool fd_logicop_enabled(struct fd_context *ctx)
+{
+       return ctx->blend && ctx->blend->logicop_enable;
+}
 
-struct fd_vertex_buf {
-       unsigned offset, size;
-       struct pipe_resource *prsc;
-};
-
-void fd_emit_vertex_bufs(struct fd_ringbuffer *ring, uint32_t val,
-               struct fd_vertex_buf *vbufs, uint32_t n);
-void fd_emit_framebuffer_state(struct fd_ringbuffer *ring,
-               struct fd_framebuffer_stateobj *fb);
-void fd_state_emit(struct pipe_context *pctx, uint32_t dirty);
-void fd_state_emit_setup(struct pipe_context *pctx);
+static inline bool fd_blend_enabled(struct fd_context *ctx, unsigned n)
+{
+       return ctx->blend && ctx->blend->rt[n].blend_enable;
+}
+
+void fd_set_shader_images(struct pipe_context *pctx,
+               enum pipe_shader_type shader,
+               unsigned start, unsigned count,
+               const struct pipe_image_view *images);
+
+void fd_state_init(struct pipe_context *pctx);
 
 #endif /* FREEDRENO_STATE_H_ */