projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lima/gpir: Optimize conditional break/continue
[mesa.git]
/
src
/
gallium
/
drivers
/
lima
/
lima_context.h
diff --git
a/src/gallium/drivers/lima/lima_context.h
b/src/gallium/drivers/lima/lima_context.h
index 53a0086fff1f110000e76e3bd353d8bbaeaab9a4..e28617ee7a7ff20ef22b0cede60f677f5d6dba9f 100644
(file)
--- a/
src/gallium/drivers/lima/lima_context.h
+++ b/
src/gallium/drivers/lima/lima_context.h
@@
-25,6
+25,7
@@
#ifndef H_LIMA_CONTEXT
#define H_LIMA_CONTEXT
#ifndef H_LIMA_CONTEXT
#define H_LIMA_CONTEXT
+#include "util/list.h"
#include "util/slab.h"
#include "pipe/p_context.h"
#include "util/slab.h"
#include "pipe/p_context.h"
@@
-138,16
+139,19
@@
struct lima_texture_stateobj {
};
struct lima_ctx_plb_pp_stream_key {
};
struct lima_ctx_plb_pp_stream_key {
- uint32_t plb_index;
- uint32_t tiled_w;
- uint32_t tiled_h;
+ uint16_t plb_index;
+ /* Coordinates are in tiles */
+ uint16_t minx, miny, maxx, maxy;
+ /* FB params */
+ uint16_t shift_w, shift_h;
+ uint16_t block_w, block_h;
};
struct lima_ctx_plb_pp_stream {
};
struct lima_ctx_plb_pp_stream {
+ struct list_head lru_list;
struct lima_ctx_plb_pp_stream_key key;
struct lima_ctx_plb_pp_stream_key key;
- uint32_t refcnt;
struct lima_bo *bo;
struct lima_bo *bo;
- uint32_t offset[
4
];
+ uint32_t offset[
8
];
};
struct lima_pp_stream_state {
};
struct lima_pp_stream_state {
@@
-217,18
+221,20
@@
struct lima_context {
uint32_t gp_output_point_size_offt;
struct hash_table *plb_pp_stream;
uint32_t gp_output_point_size_offt;
struct hash_table *plb_pp_stream;
+ struct list_head plb_pp_stream_lru_list;
uint32_t plb_index;
uint32_t plb_index;
+ size_t plb_stream_cache_size;
struct lima_ctx_buff_state buffer_state[lima_ctx_buff_num];
struct lima_ctx_buff_state buffer_state[lima_ctx_buff_num];
- /* current
submit
*/
- struct lima_
submit *submit
;
+ /* current
job
*/
+ struct lima_
job *job
;
- /* map from lima_
submit_key to lima_submit
*/
- struct hash_table *
submit
s;
+ /* map from lima_
job_key to lima_job
*/
+ struct hash_table *
job
s;
- /* map from pipe_resource to lima_
submit
which write to it */
- struct hash_table *write_
submit
s;
+ /* map from pipe_resource to lima_
job
which write to it */
+ struct hash_table *write_
job
s;
int in_sync_fd;
uint32_t in_sync[2];
int in_sync_fd;
uint32_t in_sync[2];
@@
-283,9
+289,9
@@
struct pipe_context *
lima_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags);
void lima_flush(struct lima_context *ctx);
lima_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags);
void lima_flush(struct lima_context *ctx);
-void lima_flush_
submit
_accessing_bo(
+void lima_flush_
job
_accessing_bo(
struct lima_context *ctx, struct lima_bo *bo, bool write);
struct lima_context *ctx, struct lima_bo *bo, bool write);
-void lima_flush_previous_
submit
_writing_resource(
+void lima_flush_previous_
job
_writing_resource(
struct lima_context *ctx, struct pipe_resource *prsc);
#endif
struct lima_context *ctx, struct pipe_resource *prsc);
#endif