1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef __NV50_STATEOBJ_TEX_H__
3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define __NV50_STATEOBJ_TEX_H__
4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "pipe/p_state.h"
6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct nv50_tsc_entry {
8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org   int id;
9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org   uint32_t tsc[8];
10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org};
11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic INLINE struct nv50_tsc_entry *
13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgnv50_tsc_entry(void *hwcso)
14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{
15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org   return (struct nv50_tsc_entry *)hwcso;
16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}
17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct nv50_tic_entry {
19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org   struct pipe_sampler_view pipe;
20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org   int id;
21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org   uint32_t tic[8];
22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org};
23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic INLINE struct nv50_tic_entry *
25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgnv50_tic_entry(struct pipe_sampler_view *view)
26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{
27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org   return (struct nv50_tic_entry *)view;
28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}
29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern void *
31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgnv50_sampler_state_create(struct pipe_context *,
32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org                          const struct pipe_sampler_state *);
33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* __NV50_STATEOBJ_TEX_H__ */
35