25 return supports_offscreen_msaa_;
36 return supports_texture_to_texture_blits_;
41 return supports_framebuffer_fetch_;
49 return supports_compute_subgroups_;
54 return supports_read_from_resolve_;
59 return supports_decal_sampler_address_mode_;
67 return default_color_format_;
72 return default_stencil_format_;
77 return default_depth_stencil_format_;
82 return supports_device_transient_textures_;
87 return default_glyph_atlas_format_;
92 return default_maximum_render_pass_attachment_size_;
106 return supports_extended_range_formats_;
117 return supports_texture_compression_bc_;
119 return supports_texture_compression_etc2_;
121 return supports_texture_compression_astc_;
123 return supports_texture_compression_astc_hdr_;
130 return minimum_uniform_alignment_;
135 return needs_partitioned_host_buffer_;
141 bool supports_texture_to_texture_blits,
142 bool supports_framebuffer_fetch,
143 bool supports_compute,
144 bool supports_compute_subgroups,
145 bool supports_read_from_resolve,
146 bool supports_decal_sampler_address_mode,
147 bool supports_device_transient_textures,
148 bool supports_triangle_fan,
149 bool supports_extended_range_formats,
154 ISize default_maximum_render_pass_attachment_size,
155 size_t minimum_uniform_alignment,
156 bool needs_partitioned_host_buffer,
157 bool supports_texture_compression_bc,
158 bool supports_texture_compression_etc2,
159 bool supports_texture_compression_astc,
160 bool supports_texture_compression_astc_hdr)
161 : supports_offscreen_msaa_(supports_offscreen_msaa),
162 supports_ssbo_(supports_ssbo),
163 supports_texture_to_texture_blits_(supports_texture_to_texture_blits),
164 supports_framebuffer_fetch_(supports_framebuffer_fetch),
165 supports_compute_(supports_compute),
166 supports_compute_subgroups_(supports_compute_subgroups),
167 supports_read_from_resolve_(supports_read_from_resolve),
168 supports_decal_sampler_address_mode_(
169 supports_decal_sampler_address_mode),
170 supports_device_transient_textures_(supports_device_transient_textures),
171 supports_triangle_fan_(supports_triangle_fan),
172 supports_extended_range_formats_(supports_extended_range_formats),
173 needs_partitioned_host_buffer_(needs_partitioned_host_buffer),
174 default_color_format_(default_color_format),
175 default_stencil_format_(default_stencil_format),
176 default_depth_stencil_format_(default_depth_stencil_format),
177 default_glyph_atlas_format_(default_glyph_atlas_format),
178 default_maximum_render_pass_attachment_size_(
179 default_maximum_render_pass_attachment_size),
180 minimum_uniform_alignment_(minimum_uniform_alignment),
181 supports_texture_compression_bc_(supports_texture_compression_bc),
182 supports_texture_compression_etc2_(supports_texture_compression_etc2),
183 supports_texture_compression_astc_(supports_texture_compression_astc),
184 supports_texture_compression_astc_hdr_(
185 supports_texture_compression_astc_hdr) {}
189 bool supports_offscreen_msaa_ =
false;
190 bool supports_ssbo_ =
false;
191 bool supports_texture_to_texture_blits_ =
false;
192 bool supports_framebuffer_fetch_ =
false;
193 bool supports_compute_ =
false;
194 bool supports_compute_subgroups_ =
false;
195 bool supports_read_from_resolve_ =
false;
196 bool supports_decal_sampler_address_mode_ =
false;
197 bool supports_device_transient_textures_ =
false;
198 bool supports_triangle_fan_ =
false;
199 bool supports_extended_range_formats_ =
false;
200 bool needs_partitioned_host_buffer_ =
false;
205 ISize default_maximum_render_pass_attachment_size_ =
ISize(1, 1);
206 size_t minimum_uniform_alignment_ = 256;
207 bool supports_texture_compression_bc_ =
false;
208 bool supports_texture_compression_etc2_ =
false;
209 bool supports_texture_compression_astc_ =
false;
210 bool supports_texture_compression_astc_hdr_ =
false;
348 supports_offscreen_msaa_,
350 supports_texture_to_texture_blits_,
351 supports_framebuffer_fetch_,
353 supports_compute_subgroups_,
354 supports_read_from_resolve_,
355 supports_decal_sampler_address_mode_,
356 supports_device_transient_textures_,
357 supports_triangle_fan_,
358 supports_extended_range_formats_,
363 default_maximum_render_pass_attachment_size_.value_or(
ISize{1, 1}),
364 minimum_uniform_alignment_,
365 needs_partitioned_host_buffer_,
366 supports_texture_compression_bc_,
367 supports_texture_compression_etc2_,
368 supports_texture_compression_astc_,
369 supports_texture_compression_astc_hdr_