Top | ![]() |
![]() |
![]() |
![]() |
unsigned | gem_submission_method () |
void | gem_submission_print_method () |
bool | gem_has_semaphores () |
bool | gem_has_execlists () |
bool | gem_has_guc_submission () |
bool | gem_engine_has_mutable_submission () |
bool | gem_class_has_mutable_submission () |
int | gem_cmdparser_version () |
bool | gem_has_cmdparser () |
bool | gem_engine_has_cmdparser () |
bool | gem_has_blitter () |
void | gem_require_blitter () |
unsigned int | gem_submission_measure () |
void | gem_test_all_engines () |
bool | gem_has_relocations () |
#define | GEM_SUBMISSION_SEMAPHORES |
#define | GEM_SUBMISSION_EXECLISTS |
#define | GEM_SUBMISSION_GUC |
This helper library contains functions used for getting information on currently used hardware submission method. Different generations of hardware support different submission backends, currently we're distinguishing 3 different methods: legacy ringbuffer submission, execlists, GuC submission. For legacy ringbuffer submission, there's also a variation where we're using semaphores for synchronization between engines.
void
gem_submission_print_method (int fd
);
Helper for pretty-printing currently used submission method
bool
gem_has_semaphores (int fd
);
Feature test macro to query whether the driver is using semaphores for synchronization between engines.
bool
gem_has_execlists (int fd
);
Feature test macro to query whether the driver is using execlists as a hardware submission method.
bool
gem_has_guc_submission (int fd
);
Feature test macro to query whether the driver is using the GuC as a hardware submission method.
bool gem_engine_has_mutable_submission (int fd
,unsigned int engine
);
Returns boolean value if the engine allows batch modifications post execbuf.
bool gem_class_has_mutable_submission (int fd
,int class
);
Returns boolean value if the engine class allows batch modifications post execbuf.
bool gem_engine_has_cmdparser (int i915
,const intel_ctx_cfg_t *cfg
,unsigned int engine
);
Returns true if the given engine has a command parser
unsigned int gem_submission_measure (int i915
,const intel_ctx_cfg_t *cfg
,unsigned int engine
);
void
gem_test_all_engines (int fd
);
Execute a nop batch on the engine specified, or ALL_ENGINES for all, and check it executes.