Skip to content

Commit 0e5d4dc

Browse files
Bug-fixes and improvements
1 parent 0b450bf commit 0e5d4dc

11 files changed

Lines changed: 641 additions & 336 deletions

File tree

include/misc/image_view_create_info.h

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,6 @@ namespace Anvil
176176
* @param in_device_ptr Device to use.
177177
* @param in_image_ptr Image instance to create a view for. Must not be nullptr. The specified
178178
* object will be retained and release at ImageView release time.
179-
* @param in_n_base_slice Base slice index.
180-
* @param in_n_slices Number of slices to include in the view.
181179
* @param in_n_base_mipmap_level Base mipmap level.
182180
* @param in_n_mipmaps Number of mipmaps to include in the view.
183181
* @param in_aspect_mask Image aspect mask to use when creating the Vulkan image view instance.
@@ -195,8 +193,6 @@ namespace Anvil
195193
**/
196194
static Anvil::ImageViewCreateInfoUniquePtr create_3D(const Anvil::BaseDevice* in_device_ptr,
197195
Image* in_image_ptr,
198-
uint32_t in_n_base_slice,
199-
uint32_t in_n_slices,
200196
uint32_t in_n_base_mipmap_level,
201197
uint32_t in_n_mipmaps,
202198
Anvil::ImageAspectFlags in_aspect_mask,
@@ -321,12 +317,6 @@ namespace Anvil
321317
return m_n_mipmaps;
322318
}
323319

324-
/** Returns number of slices encapsulated by the image view */
325-
uint32_t get_n_slices() const
326-
{
327-
return m_n_slices;
328-
}
329-
330320
/** Returns a pointer to the parent image, from which the image view has been created. */
331321
Anvil::Image* get_parent_image() const
332322
{
@@ -396,11 +386,6 @@ namespace Anvil
396386
m_n_mipmaps = in_n_mipmaps;
397387
}
398388

399-
void set_n_slices(const uint32_t& in_n_slices)
400-
{
401-
m_n_slices = in_n_slices;
402-
}
403-
404389
void set_parent_image(Anvil::Image* in_parent_image_ptr)
405390
{
406391
m_parent_image_ptr = in_parent_image_ptr;
@@ -431,7 +416,6 @@ namespace Anvil
431416
const uint32_t in_n_base_mipmap_level,
432417
const uint32_t in_n_layers,
433418
const uint32_t in_n_mipmaps,
434-
const uint32_t in_n_slices,
435419
Anvil::Image* in_parent_image_ptr,
436420
const Anvil::ComponentSwizzle* in_swizzle_array_ptr,
437421
const Anvil::ImageViewType in_type,
@@ -448,7 +432,6 @@ namespace Anvil
448432
uint32_t m_n_base_mipmap_level;
449433
uint32_t m_n_layers;
450434
uint32_t m_n_mipmaps;
451-
uint32_t m_n_slices;
452435
Anvil::Image* m_parent_image_ptr;
453436
std::array<Anvil::ComponentSwizzle, 4> m_swizzle_array;
454437
Anvil::ImageViewType m_type;

include/misc/memory_allocator.h

Lines changed: 172 additions & 129 deletions
Large diffs are not rendered by default.

include/misc/struct_chainer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ namespace Anvil
126126
anvil_assert_fail();
127127
}
128128

129-
memcpy(&struct_raw_data.at(0),
129+
memcpy(struct_raw_data.data(),
130130
&in_struct,
131131
sizeof(in_struct) );
132132

include/wrappers/buffer.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ namespace Anvil
283283
uint32_t in_n_device_group_indices,
284284
const uint32_t* in_device_group_indices_ptr);
285285

286+
bool is_memory_block_owned(const MemoryBlock* in_memory_block_ptr) const;
287+
286288
/* Private members */
287289
VkBuffer m_buffer;
288290
VkMemoryRequirements m_buffer_memory_reqs;

include/wrappers/device.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,9 @@ namespace Anvil
677677

678678
/* Protected functions */
679679

680-
std::unique_ptr<Anvil::StructChain<VkPhysicalDeviceFeatures2KHR > > get_physical_device_features_chain(const VkPhysicalDeviceFeatures* in_opt_features_ptr) const;
680+
void add_physical_device_features_to_chainer(const VkPhysicalDeviceFeatures* in_opt_features_ptr,
681+
Anvil::StructChainer<VkDeviceCreateInfo>* in_struct_chainer,
682+
bool in_add_features_struct) const;
681683

682684
std::vector<float> get_queue_priorities(const QueueFamilyInfo* in_queue_family_info_ptr) const;
683685
void init (const DeviceExtensionConfiguration& in_extensions,
@@ -985,7 +987,7 @@ namespace Anvil
985987
const QueueFamilyInfoItems& get_physical_device_queue_families() const override;
986988

987989
bool get_physical_device_semaphore_properties(const SemaphorePropertiesQuery& in_query,
988-
Anvil::SemaphoreProperties* out_opt_result_ptr = nullptr) const;
990+
Anvil::SemaphoreProperties* out_opt_result_ptr = nullptr) const override;
989991

990992
/** TODO */
991993
bool get_physical_device_sparse_image_format_properties(Anvil::Format in_format,

src/misc/fp16.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ Anvil::float16_t Anvil::Utils::fp32_to_fp16_fast3_rtne(Anvil::float32_t in_f)
596596
uint32_t mant_odd = (in_f.u >> 13) & 1; // resulting mantissa is odd
597597

598598
// update exponent, rounding bias part 1
599-
in_f.u += static_cast<uint32_t>(((15 - 127) << 23) + 0xfff);
599+
in_f.u += 0xc8000fff; // 0xc8000fff == static_cast<uint32_t>(((15 - 127) << 23) + 0xfff);
600600
// rounding bias part 2
601601
in_f.u += mant_odd;
602602
// take the bits!
@@ -653,4 +653,4 @@ Anvil::float16_t Anvil::Utils::fp32_to_fp16_approx(Anvil::float32_t in_f)
653653
o.u |= sign >> 16;
654654

655655
return o;
656-
}
656+
}

src/misc/image_view_create_info.cpp

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_1D(const
5151
in_n_base_mipmap_level,
5252
1, /* in_n_layers */
5353
in_n_mipmaps,
54-
1, /* in_n_slices */
5554
in_image_ptr,
5655
swizzle_rgba,
5756
Anvil::ImageViewType::_1D,
@@ -92,7 +91,6 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_1D_array(
9291
in_n_base_mipmap_level,
9392
in_n_layers,
9493
in_n_mipmaps,
95-
1, /* in_n_slices */
9694
in_image_ptr,
9795
swizzle_rgba,
9896
Anvil::ImageViewType::_1D_ARRAY,
@@ -132,7 +130,6 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_2D(const
132130
in_n_base_mipmap_level,
133131
1, /* in_n_layers */
134132
in_n_mipmaps,
135-
1, /* in_n_slices */
136133
in_image_ptr,
137134
swizzle_rgba,
138135
Anvil::ImageViewType::_2D,
@@ -173,7 +170,6 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_2D_array(
173170
in_n_base_mipmap_level,
174171
in_n_layers,
175172
in_n_mipmaps,
176-
1, /* in_n_slices */
177173
in_image_ptr,
178174
swizzle_rgba,
179175
Anvil::ImageViewType::_2D_ARRAY,
@@ -185,8 +181,6 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_2D_array(
185181

186182
Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_3D(const Anvil::BaseDevice* in_device_ptr,
187183
Image* in_image_ptr,
188-
uint32_t in_n_base_slice,
189-
uint32_t in_n_slices,
190184
uint32_t in_n_base_mipmap_level,
191185
uint32_t in_n_mipmaps,
192186
Anvil::ImageAspectFlags in_aspect_mask,
@@ -210,11 +204,10 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_3D(const
210204
new Anvil::ImageViewCreateInfo(in_aspect_mask,
211205
in_device_ptr,
212206
in_format,
213-
in_n_base_slice,
207+
0, /* in_base_array_layer */
214208
in_n_base_mipmap_level,
215209
1, /* in_n_layers */
216210
in_n_mipmaps,
217-
in_n_slices,
218211
in_image_ptr,
219212
swizzle_rgba,
220213
Anvil::ImageViewType::_3D,
@@ -254,7 +247,6 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_cube_map(
254247
in_n_base_mipmap_level,
255248
6, /* in_n_layers */
256249
in_n_mipmaps,
257-
1, /* in_n_slices */
258250
in_image_ptr,
259251
swizzle_rgba,
260252
Anvil::ImageViewType::_CUBE,
@@ -295,7 +287,6 @@ Anvil::ImageViewCreateInfoUniquePtr Anvil::ImageViewCreateInfo::create_cube_map_
295287
in_n_base_mipmap_level,
296288
in_n_cube_maps * 6,
297289
in_n_mipmaps,
298-
1, /* in_n_slices */
299290
in_image_ptr,
300291
swizzle_rgba,
301292
Anvil::ImageViewType::_CUBE_ARRAY,
@@ -312,7 +303,6 @@ Anvil::ImageViewCreateInfo::ImageViewCreateInfo(const Anvil::ImageAspectFlags& i
312303
const uint32_t in_n_base_mipmap_level,
313304
const uint32_t in_n_layers,
314305
const uint32_t in_n_mipmaps,
315-
const uint32_t in_n_slices,
316306
Anvil::Image* in_parent_image_ptr,
317307
const Anvil::ComponentSwizzle* in_swizzle_array_ptr,
318308
const Anvil::ImageViewType in_type,
@@ -325,7 +315,6 @@ Anvil::ImageViewCreateInfo::ImageViewCreateInfo(const Anvil::ImageAspectFlags& i
325315
m_n_base_mipmap_level(in_n_base_mipmap_level),
326316
m_n_layers (in_n_layers),
327317
m_n_mipmaps (in_n_mipmaps),
328-
m_n_slices (in_n_slices),
329318
m_parent_image_ptr (in_parent_image_ptr),
330319
m_swizzle_array ({in_swizzle_array_ptr[0], in_swizzle_array_ptr[1], in_swizzle_array_ptr[2], in_swizzle_array_ptr[3]}),
331320
m_type (in_type)

0 commit comments

Comments
 (0)