47 if (dst.
size() == 0) {
56 for (
uint i = 0; i < dst.
size(); i++) {
58 for (
uint j = 1; j < src.
size(); j++) {
59 if (src[j].name_hash > input_src->
name_hash) {
84 const char format[] =
" | %.8x : %4d : %s\n";
86 if (attrs.
size() > 0) {
87 printf(
"\n Attributes :\n");
90 printf(
format, attr.name_hash, attr.location, name_buf + attr.name_offset);
93 if (uniforms.
size() > 0) {
94 printf(
"\n Uniforms :\n");
98 if (uni.binding == -1) {
99 printf(
format, uni.name_hash, uni.location, name_buf + uni.name_offset);
103 if (ubos.
size() > 0) {
104 printf(
"\n Uniform Buffer Objects :\n");
107 printf(
format, ubo.name_hash, ubo.binding, name_buf + ubo.name_offset);
111 printf(
"\n Samplers :\n");
115 if (samp.binding != -1) {
116 printf(
format, samp.name_hash, samp.binding, name_buf + samp.name_offset);
Read Guarded memory(de)allocation.
constexpr int64_t size() const
constexpr void copy_from(Span< T > values)
constexpr int64_t size() const
MutableSpan< T > as_mutable_span()
uint64_t enabled_tex_mask_
virtual ~ShaderInterface()
void(* MEM_freeN)(void *vmemh)
static void sort_input_list(MutableSpan< ShaderInput > dst)