VulkanRaytracingCycles 0.0.0
Cycles Render Engine With VulkanRaytracingShaderModules. ( Experiment , in progress)
MIVSIvk Struct Reference

#include <vthreepy_types.h>

Public Member Functions

 MIVSIvk ()
 
void dealloc ()
 
bool isValid ()
 

Public Attributes

size_t size
 
uint32_t w
 
uint32_t h
 
uint32_t d
 
uint32_t l
 
uint32_t c
 
uint32_t mipLevel
 
VkMemoryRequirements memReqs
 
VkDeviceMemory memory
 
VkImage image
 
VkImageView view
 
VkSampler sampler
 
VkDescriptorImageInfo Info
 
VkFormat format
 
BYTE * mapped
 
bool valid
 
int version = { -1 }
 
MIVSIvknext = nullptr
 

Detailed Description

Definition at line 221 of file vthreepy_types.h.

Constructor & Destructor Documentation

◆ MIVSIvk()

MIVSIvk::MIVSIvk ( )
inline

Definition at line 235 of file vthreepy_types.h.

235 :
236 memory(VK_NULL_HANDLE),
237 image(VK_NULL_HANDLE),
238 view(VK_NULL_HANDLE),
239 sampler(VK_NULL_HANDLE),
240 memReqs({}),
241 Info({}),
242 valid(false),
243 mapped(nullptr),
244 next(nullptr)
245 {
246 size = 0;
247 w = h = d = l = c = 0;
248 };
size_t size
VkDescriptorImageInfo Info
VkDeviceMemory memory
uint32_t l
MIVSIvk * next
uint32_t c
VkMemoryRequirements memReqs
uint32_t h
VkImageView view
uint32_t d
VkImage image
BYTE * mapped
uint32_t w
VkSampler sampler

Member Function Documentation

◆ dealloc()

void MIVSIvk::dealloc ( )
inline

Definition at line 249 of file vthreepy_types.h.

249 {
250 if (sampler != VK_NULL_HANDLE) vkDestroySampler($device, sampler, nullptr);
251 if (view != VK_NULL_HANDLE) vkDestroyImageView($device, view, nullptr);
252 if (image != VK_NULL_HANDLE) vkDestroyImage($device, image, nullptr);
253 if (memory != VK_NULL_HANDLE) vkFreeMemory($device, memory, nullptr);
254
255 memory = VK_NULL_HANDLE,
256 image = VK_NULL_HANDLE,
257 view = VK_NULL_HANDLE,
258 sampler = VK_NULL_HANDLE;
259 size = 0;
260 w = h = d = l = c = 0;
261 if (next != nullptr) {
262 next->dealloc();
263 delete next; next = nullptr;
264 }
265 };
void dealloc()

◆ isValid()

bool MIVSIvk::isValid ( )
inline

Definition at line 266 of file vthreepy_types.h.

266 {
267 return memory != VK_NULL_HANDLE;
268 }

Member Data Documentation

◆ c

uint32_t MIVSIvk::c

Definition at line 223 of file vthreepy_types.h.

◆ d

uint32_t MIVSIvk::d

Definition at line 223 of file vthreepy_types.h.

◆ format

VkFormat MIVSIvk::format

Definition at line 230 of file vthreepy_types.h.

◆ h

uint32_t MIVSIvk::h

Definition at line 223 of file vthreepy_types.h.

◆ image

VkImage MIVSIvk::image

Definition at line 226 of file vthreepy_types.h.

◆ Info

VkDescriptorImageInfo MIVSIvk::Info

Definition at line 229 of file vthreepy_types.h.

◆ l

uint32_t MIVSIvk::l

Definition at line 223 of file vthreepy_types.h.

◆ mapped

BYTE* MIVSIvk::mapped

Definition at line 231 of file vthreepy_types.h.

◆ memory

VkDeviceMemory MIVSIvk::memory

Definition at line 225 of file vthreepy_types.h.

◆ memReqs

VkMemoryRequirements MIVSIvk::memReqs

Definition at line 224 of file vthreepy_types.h.

◆ mipLevel

uint32_t MIVSIvk::mipLevel

Definition at line 223 of file vthreepy_types.h.

◆ next

MIVSIvk* MIVSIvk::next = nullptr

Definition at line 234 of file vthreepy_types.h.

◆ sampler

VkSampler MIVSIvk::sampler

Definition at line 228 of file vthreepy_types.h.

◆ size

size_t MIVSIvk::size

Definition at line 222 of file vthreepy_types.h.

◆ valid

bool MIVSIvk::valid

Definition at line 232 of file vthreepy_types.h.

◆ version

int MIVSIvk::version = { -1 }

Definition at line 233 of file vthreepy_types.h.

◆ view

VkImageView MIVSIvk::view

Definition at line 227 of file vthreepy_types.h.

◆ w

uint32_t MIVSIvk::w

Definition at line 223 of file vthreepy_types.h.


The documentation for this struct was generated from the following file: