projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
st/mesa: respect force_s3tc_enable environment variable
[mesa.git]
/
src
/
mesa
/
state_tracker
/
st_cb_bufferobjects.h
diff --git
a/src/mesa/state_tracker/st_cb_bufferobjects.h
b/src/mesa/state_tracker/st_cb_bufferobjects.h
index dcbb5a52336a61a04d838812acf4a5714d46ac27..1c991d2083776a0f062bb5d9f5c5540c60b18cdf 100644
(file)
--- a/
src/mesa/state_tracker/st_cb_bufferobjects.h
+++ b/
src/mesa/state_tracker/st_cb_bufferobjects.h
@@
-28,9
+28,12
@@
#ifndef ST_CB_BUFFEROBJECTS_H
#define ST_CB_BUFFEROBJECTS_H
#ifndef ST_CB_BUFFEROBJECTS_H
#define ST_CB_BUFFEROBJECTS_H
+#include "main/compiler.h"
+#include "main/mtypes.h"
+
+struct dd_function_table;
+struct pipe_resource;
struct st_context;
struct st_context;
-struct gl_buffer_object;
-struct pipe_buffer;
/**
* State_tracker vertex/pixel buffer object, derived from Mesa's
/**
* State_tracker vertex/pixel buffer object, derived from Mesa's
@@
-39,26
+42,25
@@
struct pipe_buffer;
struct st_buffer_object
{
struct gl_buffer_object Base;
struct st_buffer_object
{
struct gl_buffer_object Base;
- struct pipe_
buffer *buffer;
- GLsizeiptrARB size;
+ struct pipe_
resource *buffer; /* GPU storage */
+ struct pipe_transfer *transfer; /* In-progress map information */
};
};
-/* Are the obj->Name tests necessary? Unfortunately yes, mesa
- * allocates a couple of gl_buffer_object structs statically, and the
- * Name == 0 test is the only way to identify them and avoid casting
- * them erroneously to our structs.
- */
+/** cast wrapper */
static INLINE struct st_buffer_object *
st_buffer_object(struct gl_buffer_object *obj)
{
static INLINE struct st_buffer_object *
st_buffer_object(struct gl_buffer_object *obj)
{
- if (obj->Name)
- return (struct st_buffer_object *) obj;
- else
- return NULL;
+ return (struct st_buffer_object *) obj;
}
}
+extern void
+st_bufferobj_validate_usage(struct st_context *st,
+ struct st_buffer_object *obj,
+ unsigned usage);
+
+
extern void
st_init_bufferobject_functions(struct dd_function_table *functions);
extern void
st_init_bufferobject_functions(struct dd_function_table *functions);