projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
radeonsi: Use tgsi_util_get_texture_coord_dim()
[mesa.git]
/
src
/
gallium
/
drivers
/
svga
/
svga_draw_private.h
diff --git
a/src/gallium/drivers/svga/svga_draw_private.h
b/src/gallium/drivers/svga/svga_draw_private.h
index 9aa40e16642d44acf823be6861394092fb1afcfb..8126f7ee23c8e9da5dc90d117d39d34a91c8f85b 100644
(file)
--- a/
src/gallium/drivers/svga/svga_draw_private.h
+++ b/
src/gallium/drivers/svga/svga_draw_private.h
@@
-90,20
+90,22
@@
struct index_cache {
/* If non-null, this buffer is filled by calling
* generate(nr, map(buffer))
*/
/* If non-null, this buffer is filled by calling
* generate(nr, map(buffer))
*/
- struct pipe_
buffer
*buffer;
+ struct pipe_
resource
*buffer;
};
};
-#define QSZ 32
+
+/** Max number of primitives per draw call */
+#define QSZ SVGA3D_MAX_DRAW_PRIMITIVE_RANGES
struct draw_cmd {
struct svga_winsys_context *swc;
SVGA3dVertexDecl vdecl[SVGA3D_INPUTREG_MAX];
struct draw_cmd {
struct svga_winsys_context *swc;
SVGA3dVertexDecl vdecl[SVGA3D_INPUTREG_MAX];
- struct pipe_
buffer
*vdecl_vb[SVGA3D_INPUTREG_MAX];
+ struct pipe_
resource
*vdecl_vb[SVGA3D_INPUTREG_MAX];
unsigned vdecl_count;
SVGA3dPrimitiveRange prim[QSZ];
unsigned vdecl_count;
SVGA3dPrimitiveRange prim[QSZ];
- struct pipe_
buffer
*prim_ib[QSZ];
+ struct pipe_
resource
*prim_ib[QSZ];
unsigned prim_count;
unsigned min_index[QSZ];
unsigned max_index[QSZ];
unsigned prim_count;
unsigned min_index[QSZ];
unsigned max_index[QSZ];
@@
-114,6
+116,13
@@
struct draw_cmd {
struct svga_hwtnl {
struct svga_context *svga;
struct u_upload_mgr *upload_ib;
struct svga_hwtnl {
struct svga_context *svga;
struct u_upload_mgr *upload_ib;
+
+ /* Additional negative index bias due to partial buffer uploads
+ * This is compensated for in the offset associated with all
+ * vertex buffers.
+ */
+
+ int index_bias;
/* Flatshade information:
*/
/* Flatshade information:
*/
@@
-141,18
+150,18
@@
svga_hwtnl_prim( struct svga_hwtnl *hwtnl,
const SVGA3dPrimitiveRange *range,
unsigned min_index,
unsigned max_index,
const SVGA3dPrimitiveRange *range,
unsigned min_index,
unsigned max_index,
- struct pipe_
buffer
*ib );
+ struct pipe_
resource
*ib );
enum pipe_error
svga_hwtnl_simple_draw_range_elements( struct svga_hwtnl *hwtnl,
enum pipe_error
svga_hwtnl_simple_draw_range_elements( struct svga_hwtnl *hwtnl,
- struct pipe_
buffer
*indexBuffer,
+ struct pipe_
resource
*indexBuffer,
unsigned index_size,
unsigned index_size,
+ int index_bias,
unsigned min_index,
unsigned max_index,
unsigned prim,
unsigned start,
unsigned min_index,
unsigned max_index,
unsigned prim,
unsigned start,
- unsigned count,
- unsigned bias );
+ unsigned count );
#endif
#endif