so_long finished
4
MacroLibX/.gitignore
vendored
@ -12,11 +12,11 @@
|
||||
*.ilk
|
||||
*.pdb
|
||||
*.exe
|
||||
.gdb_history
|
||||
*vgcore
|
||||
*.gdb_history
|
||||
.vs/
|
||||
.xmake/
|
||||
.cache/
|
||||
objs/
|
||||
build/
|
||||
example/.gdb_history
|
||||
example/Test
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/04 17:55:21 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 15:23:35 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/26 11:59:34 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -28,7 +28,13 @@ int update(void* param)
|
||||
static int i = 0;
|
||||
mlx_t* mlx = (mlx_t*)param;
|
||||
|
||||
mlx_set_font_scale(mlx->mlx, mlx->win, "default", 6.f);
|
||||
if(i == 200)
|
||||
mlx_clear_window(mlx->mlx, mlx->win);
|
||||
|
||||
if(i >= 250)
|
||||
mlx_set_font_scale(mlx->mlx, mlx->win, "default", 16.f);
|
||||
else
|
||||
mlx_set_font_scale(mlx->mlx, mlx->win, "default", 6.f);
|
||||
mlx_string_put(mlx->mlx, mlx->win, 160, 120, 0xFFFF2066, "this text should be hidden");
|
||||
|
||||
mlx_put_image_to_window(mlx->mlx, mlx->win, mlx->logo_png, 100, 100);
|
||||
@ -36,6 +42,7 @@ int update(void* param)
|
||||
mlx_put_image_to_window(mlx->mlx, mlx->win, mlx->logo_bmp, 220, 40);
|
||||
mlx_put_image_to_window(mlx->mlx, mlx->win, mlx->img, 150, 60);
|
||||
|
||||
mlx_set_font(mlx->mlx, mlx->win, "default");
|
||||
mlx_string_put(mlx->mlx, mlx->win, 20, 50, 0xFFFFFFFF, "that's a text");
|
||||
|
||||
int color = 0;
|
||||
@ -46,11 +53,7 @@ int update(void* param)
|
||||
color += (color < 255);
|
||||
}
|
||||
|
||||
if(++i == 5000)
|
||||
mlx_clear_window(mlx->mlx, mlx->win);
|
||||
if(i == 7000)
|
||||
mlx_set_font_scale(mlx->mlx, mlx->win, "default", 16.f);
|
||||
|
||||
i++;
|
||||
return 0;
|
||||
}
|
||||
|
@ -172,27 +172,6 @@
|
||||
static_assert(sizeof(uint16_t) == 2, "uint16_t is not of the correct size");
|
||||
static_assert(sizeof(uint32_t) == 4, "uint32_t is not of the correct size");
|
||||
static_assert(sizeof(uint64_t) == 8, "uint64_t is not of the correct size");
|
||||
#elif defined(MLX_COMPILER_GCC)
|
||||
#define STATIC_ASSERT(cnd, descr) \
|
||||
({ \
|
||||
extern int __attribute__((error("static assert failed: (" #cnd ") (" #descr ")"))) compile_time_check(void); \
|
||||
((cnd) ? 0 : compile_time_check()), 0; \
|
||||
})
|
||||
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
|
||||
STATIC_ASSERT(CHAR_BIT == 8, "CHAR_BIT is expected to be 8");
|
||||
|
||||
STATIC_ASSERT(sizeof(int8_t) == 1, "int8_t is not of the correct size" );
|
||||
STATIC_ASSERT(sizeof(int16_t) == 2, "int16_t is not of the correct size");
|
||||
STATIC_ASSERT(sizeof(int32_t) == 4, "int32_t is not of the correct size");
|
||||
STATIC_ASSERT(sizeof(int64_t) == 8, "int64_t is not of the correct size");
|
||||
|
||||
STATIC_ASSERT(sizeof(uint8_t) == 1, "uint8_t is not of the correct size" );
|
||||
STATIC_ASSERT(sizeof(uint16_t) == 2, "uint16_t is not of the correct size");
|
||||
STATIC_ASSERT(sizeof(uint32_t) == 4, "uint32_t is not of the correct size");
|
||||
STATIC_ASSERT(sizeof(uint64_t) == 8, "uint64_t is not of the correct size");
|
||||
#else
|
||||
#define STATIC_ASSERT(COND, MSG) typedef char static_assertion___##MSG[(COND)?1:-1]
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/04 22:10:52 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 15:19:58 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/26 11:56:34 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include <renderer/images/texture.h>
|
||||
#include <renderer/core/render_core.h>
|
||||
#include <array>
|
||||
#include <core/errors.h>
|
||||
#include <mlx_profile.h>
|
||||
#include <core/memory.h>
|
||||
@ -31,6 +30,10 @@ namespace mlx::core
|
||||
if(__drop_sdl_responsability) // is case the mlx is running in a sandbox like MacroUnitTester where SDL is already init
|
||||
return;
|
||||
SDL_SetMemoryFunctions(MemManager::malloc, MemManager::calloc, MemManager::realloc, MemManager::free);
|
||||
|
||||
/* Remove this comment if you want to prioritise Wayland over X11/XWayland, at your own risks */
|
||||
//SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11");
|
||||
|
||||
if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS | SDL_INIT_TIMER) != 0)
|
||||
error::report(e_kind::fatal_error, "SDL error : unable to init all subsystems : %s", SDL_GetError());
|
||||
}
|
||||
@ -80,9 +83,25 @@ namespace mlx::core
|
||||
void Application::destroyTexture(void* ptr)
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
vkDeviceWaitIdle(Render_Core::get().getDevice().get()); // TODO : synchronize with another method than stopping all the GPU process
|
||||
vkDeviceWaitIdle(Render_Core::get().getDevice().get()); // TODO : synchronize with another method than waiting for GPU to be idle
|
||||
if(ptr == nullptr)
|
||||
{
|
||||
core::error::report(e_kind::error, "invalid image ptr (NULL)");
|
||||
return;
|
||||
}
|
||||
else if(std::find_if(_textures.begin(), _textures.end(), [=](const Texture& texture)
|
||||
{
|
||||
return &texture == ptr;
|
||||
}) == _textures.end())
|
||||
{
|
||||
core::error::report(e_kind::error, "invalid image ptr");
|
||||
return;
|
||||
}
|
||||
Texture* texture = static_cast<Texture*>(ptr);
|
||||
texture->destroy();
|
||||
if(!texture->isInit())
|
||||
core::error::report(e_kind::error, "trying to destroy a texture that has already been destroyed");
|
||||
else
|
||||
texture->destroy();
|
||||
}
|
||||
|
||||
Application::~Application()
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/04 21:49:46 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 14:59:47 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/26 11:26:54 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -15,9 +15,7 @@
|
||||
|
||||
#include <list>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <functional>
|
||||
|
||||
#include <core/errors.h>
|
||||
|
@ -22,7 +22,22 @@
|
||||
{ \
|
||||
core::error::report(e_kind::error, "invalid window ptr"); \
|
||||
return; \
|
||||
} else {}\
|
||||
} else {}
|
||||
|
||||
#define CHECK_IMAGE_PTR(img, retval) \
|
||||
if(img == nullptr) \
|
||||
{ \
|
||||
core::error::report(e_kind::error, "invalid image ptr (NULL)"); \
|
||||
retval; \
|
||||
} \
|
||||
else if(std::find_if(_textures.begin(), _textures.end(), [=](const Texture& texture) \
|
||||
{ \
|
||||
return &texture == img; \
|
||||
}) == _textures.end()) \
|
||||
{ \
|
||||
core::error::report(e_kind::error, "invalid image ptr"); \
|
||||
retval; \
|
||||
} else {}
|
||||
|
||||
namespace mlx::core
|
||||
{
|
||||
@ -140,11 +155,7 @@ namespace mlx::core
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
CHECK_WINDOW_PTR(win);
|
||||
if(img == nullptr)
|
||||
{
|
||||
core::error::report(e_kind::error, "wrong texture (NULL)");
|
||||
return;
|
||||
}
|
||||
CHECK_IMAGE_PTR(img, return);
|
||||
Texture* texture = static_cast<Texture*>(img);
|
||||
if(!texture->isInit())
|
||||
core::error::report(e_kind::error, "trying to put a texture that has been destroyed");
|
||||
@ -155,11 +166,7 @@ namespace mlx::core
|
||||
int Application::getTexturePixel(void* img, int x, int y)
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
if(img == nullptr)
|
||||
{
|
||||
core::error::report(e_kind::error, "wrong texture (NULL)");
|
||||
return 0;
|
||||
}
|
||||
CHECK_IMAGE_PTR(img, return 0);
|
||||
Texture* texture = static_cast<Texture*>(img);
|
||||
if(!texture->isInit())
|
||||
{
|
||||
@ -172,11 +179,7 @@ namespace mlx::core
|
||||
void Application::setTexturePixel(void* img, int x, int y, uint32_t color)
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
if(img == nullptr)
|
||||
{
|
||||
core::error::report(e_kind::error, "wrong texture (NULL)");
|
||||
return;
|
||||
}
|
||||
CHECK_IMAGE_PTR(img, return);
|
||||
Texture* texture = static_cast<Texture*>(img);
|
||||
if(!texture->isInit())
|
||||
core::error::report(e_kind::error, "trying to set a pixel on texture that has been destroyed");
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/04 17:35:20 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 15:02:06 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/19 05:35:38 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -228,7 +228,10 @@ extern "C"
|
||||
mlx::core::error::report(e_kind::error, "TTF loader : not a truetype font file '%s'", filepath);
|
||||
return;
|
||||
}
|
||||
static_cast<mlx::core::Application*>(mlx)->loadFont(win, file, 16.f);
|
||||
if(std::strcmp(filepath, "default") == 0)
|
||||
static_cast<mlx::core::Application*>(mlx)->loadFont(win, file, 6.f);
|
||||
else
|
||||
static_cast<mlx::core::Application*>(mlx)->loadFont(win, file, 16.f);
|
||||
}
|
||||
|
||||
void mlx_set_font_scale(void* mlx, void* win, char* filepath, float scale)
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/12/17 23:33:34 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/07 01:29:31 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 08:20:07 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -15,7 +15,6 @@
|
||||
#include <mlx_profile.h>
|
||||
#include <renderer/core/render_core.h>
|
||||
#include <renderer/command/vk_cmd_buffer.h>
|
||||
#include <mutex>
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef MLX_COMPILER_MSVC
|
||||
@ -138,6 +137,7 @@ namespace mlx
|
||||
|
||||
vkDeviceWaitIdle(_device());
|
||||
|
||||
_pool_manager.destroyAllPools();
|
||||
_cmd_manager.destroy();
|
||||
_allocator.destroy();
|
||||
_device.destroy();
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/08 19:16:32 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/11 05:14:03 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 08:17:58 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
#include <optional>
|
||||
|
||||
#include <renderer/command/single_time_cmd_manager.h>
|
||||
#include <renderer/descriptors/descriptor_pool_manager.h>
|
||||
#include <renderer/descriptors/vk_descriptor_pool.h>
|
||||
#include "vk_queues.h"
|
||||
#include "vk_device.h"
|
||||
#include "vk_instance.h"
|
||||
@ -45,6 +47,8 @@ namespace mlx
|
||||
const std::vector<const char*> validationLayers = { "VK_LAYER_KHRONOS_validation" };
|
||||
|
||||
constexpr const int MAX_FRAMES_IN_FLIGHT = 3;
|
||||
constexpr const int MAX_SETS_PER_POOL = 512;
|
||||
constexpr const int NUMBER_OF_UNIFORM_BUFFERS = 1; // change this if for wathever reason more than one uniform buffer is needed
|
||||
|
||||
class Render_Core : public Singleton<Render_Core>
|
||||
{
|
||||
@ -62,6 +66,7 @@ namespace mlx
|
||||
inline ValidationLayers& getLayers() noexcept { return _layers; }
|
||||
inline CmdBuffer& getSingleTimeCmdBuffer() noexcept { return _cmd_manager.getCmdBuffer(); }
|
||||
inline SingleTimeCmdManager& getSingleTimeCmdManager() noexcept { return _cmd_manager; }
|
||||
inline DescriptorPool& getDescriptorPool() { return _pool_manager.getAvailablePool(); }
|
||||
|
||||
private:
|
||||
Render_Core() = default;
|
||||
@ -71,6 +76,7 @@ namespace mlx
|
||||
ValidationLayers _layers;
|
||||
SingleTimeCmdManager _cmd_manager;
|
||||
Queues _queues;
|
||||
DescriptorPoolManager _pool_manager;
|
||||
Device _device;
|
||||
Instance _instance;
|
||||
GPUallocator _allocator;
|
||||
|
@ -6,12 +6,13 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/08 19:14:29 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/10 21:54:17 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 05:34:15 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "render_core.h"
|
||||
#include <iterator>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <SDL2/SDL.h>
|
||||
@ -84,24 +85,19 @@ namespace mlx
|
||||
if(SDL_Vulkan_CreateSurface(window, Render_Core::get().getInstance().get(), &surface) != SDL_TRUE)
|
||||
core::error::report(e_kind::fatal_error, "Vulkan : failed to create a surface to pick physical device");
|
||||
|
||||
std::vector<std::pair<int, VkPhysicalDevice>> devices_score;
|
||||
std::multimap<int, VkPhysicalDevice> devices_score;
|
||||
|
||||
std::transform(devices.cbegin(), devices.cend(), std::back_inserter(devices_score), [&](VkPhysicalDevice device)
|
||||
for(const auto& device : devices)
|
||||
{
|
||||
return std::make_pair(deviceScore(device, surface), device);
|
||||
});
|
||||
int score = deviceScore(device, surface);
|
||||
devices_score.insert(std::make_pair(score, device));
|
||||
}
|
||||
|
||||
using device_pair = std::pair<int, VkPhysicalDevice>;
|
||||
std::sort(devices_score.begin(), devices_score.end(), [](const device_pair& a, const device_pair& b)
|
||||
{
|
||||
return a.first > b.first;
|
||||
});
|
||||
|
||||
if(devices_score.front().first > 0)
|
||||
_physicalDevice = devices_score.front().second;
|
||||
|
||||
if(_physicalDevice == VK_NULL_HANDLE)
|
||||
if(devices_score.rbegin()->first > 0)
|
||||
_physicalDevice = devices_score.rbegin()->second;
|
||||
else
|
||||
core::error::report(e_kind::fatal_error, "Vulkan : failed to find a suitable GPU");
|
||||
|
||||
#ifdef DEBUG
|
||||
VkPhysicalDeviceProperties props;
|
||||
vkGetPhysicalDeviceProperties(_physicalDevice, &props);
|
||||
@ -126,6 +122,9 @@ namespace mlx
|
||||
if(!indices.isComplete() || !extensionsSupported || formatCount == 0)
|
||||
return -1;
|
||||
|
||||
VkPhysicalDeviceFeatures features;
|
||||
vkGetPhysicalDeviceFeatures(device, &features);
|
||||
|
||||
int score = 0;
|
||||
#ifndef FORCE_INTEGRATED_GPU
|
||||
if(props.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU)
|
||||
@ -134,6 +133,10 @@ namespace mlx
|
||||
if(props.deviceType != VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU)
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
if(!features.geometryShader)
|
||||
return -1;
|
||||
|
||||
score += props.limits.maxImageDimension2D;
|
||||
score += props.limits.maxBoundDescriptorSets;
|
||||
return score;
|
||||
|
@ -0,0 +1,39 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* descriptor_pool_manager.cpp :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/20 06:51:47 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/20 08:18:27 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <renderer/core/render_core.h>
|
||||
#include <renderer/descriptors/descriptor_pool_manager.h>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
DescriptorPool& DescriptorPoolManager::getAvailablePool()
|
||||
{
|
||||
for(auto& pool : _pools)
|
||||
{
|
||||
if(pool.getNumberOfSetsAllocated() < MAX_SETS_PER_POOL)
|
||||
return pool;
|
||||
}
|
||||
VkDescriptorPoolSize pool_sizes[] = {
|
||||
{ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, (MAX_FRAMES_IN_FLIGHT * NUMBER_OF_UNIFORM_BUFFERS) },
|
||||
{ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, MAX_SETS_PER_POOL - (MAX_FRAMES_IN_FLIGHT * NUMBER_OF_UNIFORM_BUFFERS) }
|
||||
};
|
||||
_pools.emplace_front().init((sizeof(pool_sizes) / sizeof(VkDescriptorPoolSize)), pool_sizes);
|
||||
return _pools.front();
|
||||
}
|
||||
|
||||
void DescriptorPoolManager::destroyAllPools()
|
||||
{
|
||||
for(auto& pool : _pools)
|
||||
pool.destroy();
|
||||
_pools.clear();
|
||||
}
|
||||
}
|
36
MacroLibX/src/renderer/descriptors/descriptor_pool_manager.h
Normal file
@ -0,0 +1,36 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* descriptor_pool_manager.h :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/20 06:26:26 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/20 08:23:04 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef __MLX_DESCRIPTOR_POOL_MANAGER__
|
||||
#define __MLX_DESCRIPTOR_POOL_MANAGER__
|
||||
|
||||
#include <renderer/descriptors/vk_descriptor_pool.h>
|
||||
#include <list>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
class DescriptorPoolManager
|
||||
{
|
||||
public:
|
||||
DescriptorPoolManager() = default;
|
||||
|
||||
DescriptorPool& getAvailablePool(); // assumes the pool is for only one set allocation, may cause some issues if this is for more than one
|
||||
void destroyAllPools();
|
||||
|
||||
~DescriptorPoolManager() = default;
|
||||
|
||||
private:
|
||||
std::list<DescriptorPool> _pools;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
@ -6,11 +6,12 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/01/23 18:34:23 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 10:19:55 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 07:40:40 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "vk_descriptor_pool.h"
|
||||
#include <renderer/descriptors/vk_descriptor_set.h>
|
||||
#include <renderer/core/render_core.h>
|
||||
|
||||
namespace mlx
|
||||
@ -21,17 +22,34 @@ namespace mlx
|
||||
poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
|
||||
poolInfo.poolSizeCount = n;
|
||||
poolInfo.pPoolSizes = size;
|
||||
poolInfo.maxSets = 8192;
|
||||
poolInfo.maxSets = MAX_SETS_PER_POOL;
|
||||
poolInfo.flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
|
||||
|
||||
VkResult res = vkCreateDescriptorPool(Render_Core::get().getDevice().get(), &poolInfo, nullptr, &_pool);
|
||||
if(res != VK_SUCCESS)
|
||||
core::error::report(e_kind::fatal_error, "Vulkan : failed to create descriptor pool, %s", RCore::verbaliseResultVk(res));
|
||||
_allocated_sets++;
|
||||
#ifdef DEBUG
|
||||
core::error::report(e_kind::message, "Vulkan : created new descriptor pool");
|
||||
#endif
|
||||
}
|
||||
|
||||
void DescriptorPool::freeDescriptor(const DescriptorSet& set)
|
||||
{
|
||||
if(!isInit())
|
||||
return;
|
||||
const auto& sets = set.getAllFramesDescriptorSets();
|
||||
vkFreeDescriptorSets(Render_Core::get().getDevice().get(), _pool, sets.size(), sets.data());
|
||||
_allocated_sets--; // if this goes in underflow I quit
|
||||
}
|
||||
|
||||
void DescriptorPool::destroy() noexcept
|
||||
{
|
||||
vkDestroyDescriptorPool(Render_Core::get().getDevice().get(), _pool, nullptr);
|
||||
if(_pool != VK_NULL_HANDLE)
|
||||
vkDestroyDescriptorPool(Render_Core::get().getDevice().get(), _pool, nullptr);
|
||||
_pool = VK_NULL_HANDLE;
|
||||
#ifdef DEBUG
|
||||
core::error::report(e_kind::message, "Vulkan : destroyed a descriptor pool");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/01/23 18:32:43 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 10:22:20 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 07:38:32 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -22,16 +22,23 @@ namespace mlx
|
||||
class DescriptorPool
|
||||
{
|
||||
public:
|
||||
DescriptorPool() = default;
|
||||
|
||||
void init(std::size_t n, VkDescriptorPoolSize* size);
|
||||
void freeDescriptor(const class DescriptorSet& set);
|
||||
void destroy() noexcept;
|
||||
|
||||
inline VkDescriptorPool& operator()() noexcept { return _pool; }
|
||||
inline VkDescriptorPool& get() noexcept { return _pool; }
|
||||
inline std::size_t getNumberOfSetsAllocated() const noexcept { return _allocated_sets; }
|
||||
|
||||
inline bool isInit() const noexcept { return _pool != VK_NULL_HANDLE; }
|
||||
|
||||
~DescriptorPool() = default;
|
||||
|
||||
private:
|
||||
VkDescriptorPool _pool = VK_NULL_HANDLE;
|
||||
std::size_t _allocated_sets = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/01/23 18:40:44 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 10:22:10 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 08:18:07 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -98,7 +98,7 @@ namespace mlx
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
DescriptorSet set;
|
||||
set.init(_renderer, _pool, _layout);
|
||||
set.init(_renderer, &Render_Core::get().getDescriptorPool(), _layout);
|
||||
return set;
|
||||
}
|
||||
|
||||
@ -115,8 +115,8 @@ namespace mlx
|
||||
void DescriptorSet::destroy() noexcept
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
if(_pool->isInit())
|
||||
vkFreeDescriptorSets(Render_Core::get().getDevice().get(), _pool->get(), _desc_set.size(), _desc_set.data());
|
||||
if(_pool != nullptr && Render_Core::get().isInit()) // checks if the render core is still init (it should always be init but just in case)
|
||||
_pool->freeDescriptor(*this);
|
||||
for(auto& set : _desc_set)
|
||||
{
|
||||
if(set != VK_NULL_HANDLE)
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/01/23 18:39:36 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/18 10:13:25 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 07:17:39 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -23,6 +23,8 @@ namespace mlx
|
||||
class DescriptorSet
|
||||
{
|
||||
public:
|
||||
DescriptorSet() = default;
|
||||
|
||||
void init(class Renderer* renderer, class DescriptorPool* pool, class DescriptorSetLayout* layout);
|
||||
|
||||
void writeDescriptor(int binding, class UBO* ubo) const noexcept;
|
||||
@ -35,8 +37,12 @@ namespace mlx
|
||||
VkDescriptorSet& operator()() noexcept;
|
||||
VkDescriptorSet& get() noexcept;
|
||||
|
||||
inline const std::array<VkDescriptorSet, MAX_FRAMES_IN_FLIGHT>& getAllFramesDescriptorSets() const { return _desc_set; }
|
||||
|
||||
void destroy() noexcept;
|
||||
|
||||
~DescriptorSet() = default;
|
||||
|
||||
private:
|
||||
std::array<VkDescriptorSet, MAX_FRAMES_IN_FLIGHT> _desc_set;
|
||||
class DescriptorPool* _pool = nullptr;
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/01/23 18:36:22 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/03 15:27:55 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 06:25:54 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -15,15 +15,15 @@
|
||||
|
||||
#include <mlx_profile.h>
|
||||
#include <volk.h>
|
||||
#include <cstddef>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
class DescriptorSetLayout
|
||||
{
|
||||
public:
|
||||
DescriptorSetLayout() = default;
|
||||
|
||||
void init(std::vector<std::pair<int, VkDescriptorType>> binds, VkShaderStageFlagBits stage);
|
||||
void destroy() noexcept;
|
||||
|
||||
@ -31,6 +31,8 @@ namespace mlx
|
||||
inline VkDescriptorSetLayout& get() noexcept { return _layout; }
|
||||
inline const std::vector<std::pair<int, VkDescriptorType>>& getBindings() const noexcept { return _bindings; }
|
||||
|
||||
~DescriptorSetLayout() = default;
|
||||
|
||||
private:
|
||||
VkDescriptorSetLayout _layout = VK_NULL_HANDLE;
|
||||
std::vector<std::pair<int, VkDescriptorType>> _bindings;
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/01/25 11:54:21 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/07 01:20:31 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/19 06:10:15 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -15,8 +15,6 @@
|
||||
|
||||
#include <mlx_profile.h>
|
||||
#include <volk.h>
|
||||
#include <cstddef>
|
||||
#include <vector>
|
||||
#include <vma.h>
|
||||
#include <renderer/core/cmd_resource.h>
|
||||
#include <renderer/command/vk_cmd_buffer.h>
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/12/18 17:25:16 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/16 08:02:57 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 08:19:46 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -47,12 +47,6 @@ namespace mlx
|
||||
_uniform_buffer->create(this, sizeof(glm::mat4), nullptr);
|
||||
#endif
|
||||
|
||||
VkDescriptorPoolSize pool_sizes[] = {
|
||||
{ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 4096 },
|
||||
{ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 4096 }
|
||||
};
|
||||
_desc_pool.init(2, pool_sizes);
|
||||
|
||||
_vert_layout.init({
|
||||
{0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER}
|
||||
}, VK_SHADER_STAGE_VERTEX_BIT);
|
||||
@ -60,8 +54,8 @@ namespace mlx
|
||||
{0, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER}
|
||||
}, VK_SHADER_STAGE_FRAGMENT_BIT);
|
||||
|
||||
_vert_set.init(this, &_desc_pool, &_vert_layout);
|
||||
_frag_set.init(this, &_desc_pool, &_frag_layout);
|
||||
_vert_set.init(this, &Render_Core::get().getDescriptorPool(), &_vert_layout);
|
||||
_frag_set.init(this, &Render_Core::get().getDescriptorPool(), &_frag_layout);
|
||||
|
||||
_vert_set.writeDescriptor(0, _uniform_buffer.get());
|
||||
|
||||
@ -179,8 +173,9 @@ namespace mlx
|
||||
_uniform_buffer->destroy();
|
||||
_vert_layout.destroy();
|
||||
_frag_layout.destroy();
|
||||
_frag_set.destroy();
|
||||
_vert_set.destroy();
|
||||
_cmd.destroy();
|
||||
_desc_pool.destroy();
|
||||
_pass.destroy();
|
||||
if(_render_target == nullptr)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/12/18 17:14:45 by maldavid #+# #+# */
|
||||
/* Updated: 2024/01/16 08:01:25 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/01/20 08:18:53 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -125,8 +125,6 @@ namespace mlx
|
||||
std::array<Semaphore, MAX_FRAMES_IN_FLIGHT> _semaphores;
|
||||
std::vector<FrameBuffer> _framebuffers;
|
||||
|
||||
DescriptorPool _desc_pool;
|
||||
|
||||
DescriptorSetLayout _vert_layout;
|
||||
DescriptorSetLayout _frag_layout;
|
||||
|
||||
|
83
MacroLibX/third_party/vulkan/vulkan.cppm
vendored
@ -643,9 +643,6 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
using VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagBitsEXT;
|
||||
using VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateFlagsEXT;
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
using VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT;
|
||||
|
||||
//=== VK_KHR_pipeline_executable_properties ===
|
||||
using VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticFormatKHR;
|
||||
|
||||
@ -839,6 +836,10 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_MSFT_layered_driver ===
|
||||
using VULKAN_HPP_NAMESPACE::LayeredDriverUnderlyingApiMSFT;
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
using VULKAN_HPP_NAMESPACE::LineRasterizationModeEXT;
|
||||
using VULKAN_HPP_NAMESPACE::LineRasterizationModeKHR;
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
using VULKAN_HPP_NAMESPACE::TimeDomainEXT;
|
||||
using VULKAN_HPP_NAMESPACE::TimeDomainKHR;
|
||||
@ -1742,10 +1743,18 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
using VULKAN_HPP_NAMESPACE::AMDDeviceCoherentMemoryExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::AMDDeviceCoherentMemorySpecVersion;
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRDynamicRenderingLocalReadExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRDynamicRenderingLocalReadSpecVersion;
|
||||
|
||||
//=== VK_EXT_shader_image_atomic_int64 ===
|
||||
using VULKAN_HPP_NAMESPACE::EXTShaderImageAtomicInt64ExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::EXTShaderImageAtomicInt64SpecVersion;
|
||||
|
||||
//=== VK_KHR_shader_quad_control ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderQuadControlExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderQuadControlSpecVersion;
|
||||
|
||||
//=== VK_KHR_spirv_1_4 ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRSpirv14ExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRSpirv14SpecVersion;
|
||||
@ -2227,6 +2236,10 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
using VULKAN_HPP_NAMESPACE::ARMShaderCorePropertiesExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::ARMShaderCorePropertiesSpecVersion;
|
||||
|
||||
//=== VK_KHR_shader_subgroup_rotate ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderSubgroupRotateExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderSubgroupRotateSpecVersion;
|
||||
|
||||
//=== VK_ARM_scheduling_controls ===
|
||||
using VULKAN_HPP_NAMESPACE::ARMSchedulingControlsExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::ARMSchedulingControlsSpecVersion;
|
||||
@ -2276,6 +2289,10 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
using VULKAN_HPP_NAMESPACE::GOOGLESurfacelessQueryExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::GOOGLESurfacelessQuerySpecVersion;
|
||||
|
||||
//=== VK_KHR_shader_maximal_reconvergence ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderMaximalReconvergenceExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderMaximalReconvergenceSpecVersion;
|
||||
|
||||
//=== VK_EXT_image_compression_control_swapchain ===
|
||||
using VULKAN_HPP_NAMESPACE::EXTImageCompressionControlSwapchainExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::EXTImageCompressionControlSwapchainSpecVersion;
|
||||
@ -2427,6 +2444,14 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
using VULKAN_HPP_NAMESPACE::KHRVertexAttributeDivisorExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRVertexAttributeDivisorSpecVersion;
|
||||
|
||||
//=== VK_KHR_load_store_op_none ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRLoadStoreOpNoneExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRLoadStoreOpNoneSpecVersion;
|
||||
|
||||
//=== VK_KHR_shader_float_controls2 ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderFloatControls2ExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderFloatControls2SpecVersion;
|
||||
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
//=== VK_QNX_external_memory_screen_buffer ===
|
||||
using VULKAN_HPP_NAMESPACE::QNXExternalMemoryScreenBufferExtensionName;
|
||||
@ -2437,10 +2462,22 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
using VULKAN_HPP_NAMESPACE::MSFTLayeredDriverExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::MSFTLayeredDriverSpecVersion;
|
||||
|
||||
//=== VK_KHR_index_type_uint8 ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRIndexTypeUint8ExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRIndexTypeUint8SpecVersion;
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRLineRasterizationExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRLineRasterizationSpecVersion;
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRCalibratedTimestampsExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRCalibratedTimestampsSpecVersion;
|
||||
|
||||
//=== VK_KHR_shader_expect_assume ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderExpectAssumeExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderExpectAssumeSpecVersion;
|
||||
|
||||
//=== VK_KHR_maintenance6 ===
|
||||
using VULKAN_HPP_NAMESPACE::KHRMaintenance6ExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRMaintenance6SpecVersion;
|
||||
@ -3531,9 +3568,17 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_AMD_device_coherent_memory ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD;
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR;
|
||||
using VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfoKHR;
|
||||
using VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfoKHR;
|
||||
|
||||
//=== VK_EXT_shader_image_atomic_int64 ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
|
||||
|
||||
//=== VK_KHR_shader_quad_control ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderQuadControlFeaturesKHR;
|
||||
|
||||
//=== VK_EXT_memory_budget ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT;
|
||||
|
||||
@ -3589,17 +3634,9 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_EXT_headless_surface ===
|
||||
using VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT;
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT;
|
||||
|
||||
//=== VK_EXT_shader_atomic_float ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT;
|
||||
|
||||
//=== VK_EXT_index_type_uint8 ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT;
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT;
|
||||
|
||||
@ -3986,6 +4023,9 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_ARM_shader_core_properties ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM;
|
||||
|
||||
//=== VK_KHR_shader_subgroup_rotate ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupRotateFeaturesKHR;
|
||||
|
||||
//=== VK_ARM_scheduling_controls ===
|
||||
using VULKAN_HPP_NAMESPACE::DeviceQueueShaderCoreControlCreateInfoARM;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceSchedulingControlsFeaturesARM;
|
||||
@ -4038,6 +4078,9 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_NV_linear_color_attachment ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLinearColorAttachmentFeaturesNV;
|
||||
|
||||
//=== VK_KHR_shader_maximal_reconvergence ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR;
|
||||
|
||||
//=== VK_EXT_image_compression_control_swapchain ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
|
||||
|
||||
@ -4220,6 +4263,9 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
using VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionEXT;
|
||||
using VULKAN_HPP_NAMESPACE::VertexInputBindingDivisorDescriptionKHR;
|
||||
|
||||
//=== VK_KHR_shader_float_controls2 ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloatControls2FeaturesKHR;
|
||||
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
//=== VK_QNX_external_memory_screen_buffer ===
|
||||
using VULKAN_HPP_NAMESPACE::ExternalFormatQNX;
|
||||
@ -4232,10 +4278,25 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_MSFT_layered_driver ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLayeredDriverPropertiesMSFT;
|
||||
|
||||
//=== VK_KHR_index_type_uint8 ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesKHR;
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesKHR;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesKHR;
|
||||
using VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoKHR;
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
using VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT;
|
||||
using VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR;
|
||||
|
||||
//=== VK_KHR_shader_expect_assume ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderExpectAssumeFeaturesKHR;
|
||||
|
||||
//=== VK_KHR_maintenance6 ===
|
||||
using VULKAN_HPP_NAMESPACE::BindDescriptorBufferEmbeddedSamplersInfoEXT;
|
||||
using VULKAN_HPP_NAMESPACE::BindDescriptorSetsInfoKHR;
|
||||
|
383
MacroLibX/third_party/vulkan/vulkan.hpp
vendored
@ -35,7 +35,7 @@
|
||||
#if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
|
||||
# if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
|
||||
# include <dlfcn.h>
|
||||
# elif defined( _WIN32 )
|
||||
# elif defined( _WIN32 ) && !defined( VULKAN_HPP_NO_WIN32_PROTOTYPES )
|
||||
typedef struct HINSTANCE__ * HINSTANCE;
|
||||
# if defined( _WIN64 )
|
||||
typedef int64_t( __stdcall * FARPROC )();
|
||||
@ -56,7 +56,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
|
||||
# include <span>
|
||||
#endif
|
||||
|
||||
static_assert( VK_HEADER_VERSION == 275, "Wrong VK_HEADER_VERSION!" );
|
||||
static_assert( VK_HEADER_VERSION == 276, "Wrong VK_HEADER_VERSION!" );
|
||||
|
||||
// <tuple> includes <sys/sysmacros.h> through some other header
|
||||
// this results in major(x) being resolved to gnu_dev_major(x)
|
||||
@ -919,6 +919,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
return m_value.operator bool();
|
||||
}
|
||||
|
||||
# if defined( VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST )
|
||||
operator Type() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_value;
|
||||
}
|
||||
# endif
|
||||
|
||||
Type const * operator->() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return &m_value;
|
||||
@ -4379,6 +4386,20 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
|
||||
}
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
|
||||
void vkCmdSetRenderingAttachmentLocationsKHR( VkCommandBuffer commandBuffer,
|
||||
const VkRenderingAttachmentLocationInfoKHR * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetRenderingAttachmentLocationsKHR( commandBuffer, pLocationInfo );
|
||||
}
|
||||
|
||||
void vkCmdSetRenderingInputAttachmentIndicesKHR( VkCommandBuffer commandBuffer,
|
||||
const VkRenderingInputAttachmentIndexInfoKHR * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetRenderingInputAttachmentIndicesKHR( commandBuffer, pLocationInfo );
|
||||
}
|
||||
|
||||
//=== VK_EXT_buffer_device_address ===
|
||||
|
||||
VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
|
||||
@ -5482,11 +5503,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state3 ===
|
||||
|
||||
void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
|
||||
}
|
||||
|
||||
void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
|
||||
@ -5546,6 +5562,11 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
|
||||
}
|
||||
|
||||
void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
|
||||
}
|
||||
|
||||
void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
|
||||
@ -5838,6 +5859,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
|
||||
void vkCmdSetLineStippleKHR( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdSetLineStippleKHR( commandBuffer, lineStippleFactor, lineStipplePattern );
|
||||
}
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
|
||||
VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDevice physicalDevice,
|
||||
@ -7830,10 +7858,18 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemoryExtensionName = VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemorySpecVersion = VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadExtensionName = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadSpecVersion = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION;
|
||||
|
||||
//=== VK_EXT_shader_image_atomic_int64 ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64ExtensionName = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64SpecVersion = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_shader_quad_control ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlExtensionName = VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlSpecVersion = VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_spirv_1_4 ===
|
||||
VULKAN_HPP_DEPRECATED( "The VK_KHR_spirv_1_4 extension has been promoted to core in version 1.2." )
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14ExtensionName = VK_KHR_SPIRV_1_4_EXTENSION_NAME;
|
||||
@ -7947,8 +7983,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetSpecVersion = VK_EXT_HOST_QUERY_RESET_SPEC_VERSION;
|
||||
|
||||
//=== VK_EXT_index_type_uint8 ===
|
||||
VULKAN_HPP_DEPRECATED( "The VK_EXT_index_type_uint8 extension has been promoted to VK_KHR_index_type_uint8." )
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8ExtensionName = VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
|
||||
VULKAN_HPP_DEPRECATED( "The VK_EXT_index_type_uint8 extension has been promoted to VK_KHR_index_type_uint8." )
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state ===
|
||||
VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state extension has been promoted to core in version 1.3." )
|
||||
@ -8345,8 +8383,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
//=== VK_EXT_load_store_op_none ===
|
||||
VULKAN_HPP_DEPRECATED( "The VK_EXT_load_store_op_none extension has been promoted to VK_KHR_load_store_op_none." )
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneExtensionName = VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
|
||||
VULKAN_HPP_DEPRECATED( "The VK_EXT_load_store_op_none extension has been promoted to VK_KHR_load_store_op_none." )
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
|
||||
|
||||
//=== VK_HUAWEI_cluster_culling_shader ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderExtensionName = VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME;
|
||||
@ -8370,6 +8410,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesExtensionName = VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesSpecVersion = VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_shader_subgroup_rotate ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateExtensionName = VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateSpecVersion = VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION;
|
||||
|
||||
//=== VK_ARM_scheduling_controls ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsExtensionName = VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsSpecVersion = VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION;
|
||||
@ -8418,6 +8462,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQueryExtensionName = VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQuerySpecVersion = VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_shader_maximal_reconvergence ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceExtensionName = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceSpecVersion = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION;
|
||||
|
||||
//=== VK_EXT_image_compression_control_swapchain ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainSpecVersion = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION;
|
||||
@ -8568,6 +8616,14 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorExtensionName = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorSpecVersion = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_load_store_op_none ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneExtensionName = VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneSpecVersion = VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_shader_float_controls2 ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2ExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2SpecVersion = VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION;
|
||||
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
//=== VK_QNX_external_memory_screen_buffer ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferExtensionName = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME;
|
||||
@ -8578,10 +8634,22 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverExtensionName = VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverSpecVersion = VK_MSFT_LAYERED_DRIVER_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_index_type_uint8 ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8ExtensionName = VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8SpecVersion = VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationExtensionName = VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationSpecVersion = VK_KHR_LINE_RASTERIZATION_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsExtensionName = VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsSpecVersion = VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_shader_expect_assume ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeExtensionName = VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeSpecVersion = VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION;
|
||||
|
||||
//=== VK_KHR_maintenance6 ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6ExtensionName = VK_KHR_MAINTENANCE_6_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6SpecVersion = VK_KHR_MAINTENANCE_6_SPEC_VERSION;
|
||||
@ -12257,6 +12325,61 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<RenderingAttachmentLocationInfoKHR, GraphicsPipelineCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<RenderingAttachmentLocationInfoKHR, CommandBufferInheritanceInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<RenderingInputAttachmentIndexInfoKHR, GraphicsPipelineCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<RenderingInputAttachmentIndexInfoKHR, CommandBufferInheritanceInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_shader_image_atomic_int64 ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
|
||||
@ -12276,6 +12399,25 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_shader_quad_control ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_memory_budget ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
|
||||
@ -12579,43 +12721,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceProperties2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_shader_atomic_float ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
@ -12635,25 +12740,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_index_type_uint8 ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
@ -14702,6 +14788,25 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_shader_subgroup_rotate ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_ARM_scheduling_controls ===
|
||||
template <>
|
||||
struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceQueueCreateInfo>
|
||||
@ -15019,6 +15124,25 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_shader_maximal_reconvergence ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_image_compression_control_swapchain ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
@ -16138,6 +16262,25 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_shader_float_controls2 ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderFloatControls2FeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderFloatControls2FeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
# if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
//=== VK_QNX_external_memory_screen_buffer ===
|
||||
template <>
|
||||
@ -16205,6 +16348,81 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_index_type_uint8 ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceLineRasterizationFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceLineRasterizationFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceLineRasterizationPropertiesKHR, PhysicalDeviceProperties2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PipelineRasterizationLineStateCreateInfoKHR, PipelineRasterizationStateCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_shader_expect_assume ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderExpectAssumeFeaturesKHR, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceShaderExpectAssumeFeaturesKHR, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_KHR_maintenance6 ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceMaintenance6FeaturesKHR, PhysicalDeviceFeatures2>
|
||||
@ -17099,6 +17317,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
|
||||
PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR = 0;
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
PFN_vkCmdSetRenderingAttachmentLocationsKHR vkCmdSetRenderingAttachmentLocationsKHR = 0;
|
||||
PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR = 0;
|
||||
|
||||
//=== VK_EXT_buffer_device_address ===
|
||||
PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
|
||||
|
||||
@ -17412,7 +17634,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkGetPipelineIndirectDeviceAddressNV vkGetPipelineIndirectDeviceAddressNV = 0;
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state3 ===
|
||||
PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT = 0;
|
||||
PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT = 0;
|
||||
PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT = 0;
|
||||
PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT = 0;
|
||||
@ -17423,6 +17644,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT = 0;
|
||||
PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT = 0;
|
||||
PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT = 0;
|
||||
PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT = 0;
|
||||
PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT = 0;
|
||||
PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT = 0;
|
||||
PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
|
||||
@ -17491,6 +17713,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder = 0;
|
||||
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR = 0;
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
|
||||
PFN_vkGetCalibratedTimestampsKHR vkGetCalibratedTimestampsKHR = 0;
|
||||
@ -18400,6 +18625,12 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
|
||||
vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
vkCmdSetRenderingAttachmentLocationsKHR =
|
||||
PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
|
||||
vkCmdSetRenderingInputAttachmentIndicesKHR =
|
||||
PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
|
||||
|
||||
//=== VK_EXT_buffer_device_address ===
|
||||
vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
|
||||
if ( !vkGetBufferDeviceAddress )
|
||||
@ -18449,6 +18680,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
|
||||
if ( !vkCmdSetLineStippleKHR )
|
||||
vkCmdSetLineStippleKHR = vkCmdSetLineStippleEXT;
|
||||
|
||||
//=== VK_EXT_host_query_reset ===
|
||||
vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
|
||||
@ -18795,7 +19028,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state3 ===
|
||||
vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
|
||||
vkCmdSetDepthClampEnableEXT = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
|
||||
vkCmdSetPolygonModeEXT = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
|
||||
vkCmdSetRasterizationSamplesEXT = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
|
||||
@ -18806,6 +19038,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkCmdSetColorBlendEnableEXT = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
|
||||
vkCmdSetColorBlendEquationEXT = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
|
||||
vkCmdSetColorWriteMaskEXT = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
|
||||
vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
|
||||
vkCmdSetRasterizationStreamEXT = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
|
||||
vkCmdSetConservativeRasterizationModeEXT =
|
||||
PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
|
||||
@ -18883,6 +19116,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
|
||||
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleKHR" ) );
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
|
||||
PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
|
||||
@ -19493,6 +19729,12 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
//=== VK_KHR_fragment_shading_rate ===
|
||||
vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
vkCmdSetRenderingAttachmentLocationsKHR =
|
||||
PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
|
||||
vkCmdSetRenderingInputAttachmentIndicesKHR =
|
||||
PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
|
||||
|
||||
//=== VK_EXT_buffer_device_address ===
|
||||
vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
|
||||
if ( !vkGetBufferDeviceAddress )
|
||||
@ -19523,6 +19765,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
|
||||
if ( !vkCmdSetLineStippleKHR )
|
||||
vkCmdSetLineStippleKHR = vkCmdSetLineStippleEXT;
|
||||
|
||||
//=== VK_EXT_host_query_reset ===
|
||||
vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
|
||||
@ -19838,7 +20082,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkGetPipelineIndirectDeviceAddressNV = PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state3 ===
|
||||
vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
|
||||
vkCmdSetDepthClampEnableEXT = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
|
||||
vkCmdSetPolygonModeEXT = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
|
||||
vkCmdSetRasterizationSamplesEXT = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
|
||||
@ -19849,6 +20092,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkCmdSetColorBlendEnableEXT = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
|
||||
vkCmdSetColorBlendEquationEXT = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
|
||||
vkCmdSetColorWriteMaskEXT = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
|
||||
vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
|
||||
vkCmdSetRasterizationStreamEXT = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
|
||||
vkCmdSetConservativeRasterizationModeEXT =
|
||||
PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
|
||||
@ -19918,6 +20162,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
|
||||
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleKHR" ) );
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) );
|
||||
|
||||
|
255
MacroLibX/third_party/vulkan/vulkan_core.h
vendored
@ -69,7 +69,7 @@ extern "C" {
|
||||
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
||||
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 275
|
||||
#define VK_HEADER_VERSION 276
|
||||
|
||||
// Complete version of this file
|
||||
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
|
||||
@ -718,7 +718,11 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = 1000232000,
|
||||
VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = 1000232001,
|
||||
VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = 1000232002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
|
||||
VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
|
||||
@ -743,11 +747,7 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
|
||||
VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
|
||||
VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
|
||||
@ -959,6 +959,7 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = 1000416000,
|
||||
VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002,
|
||||
@ -985,6 +986,7 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
|
||||
@ -1075,13 +1077,19 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = 1000525000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = 1000190001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = 1000528000,
|
||||
VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000,
|
||||
VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001,
|
||||
VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002,
|
||||
VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = 1000265000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = 1000259000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = 1000259001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = 1000259002,
|
||||
VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = 1000544000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = 1000545000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = 1000545001,
|
||||
VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = 1000545002,
|
||||
@ -1227,7 +1235,11 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
|
||||
VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
|
||||
VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
|
||||
@ -1304,6 +1316,7 @@ typedef enum VkImageLayout {
|
||||
VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
|
||||
VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
|
||||
VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
|
||||
VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = 1000232000,
|
||||
VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
|
||||
VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
|
||||
VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
|
||||
@ -1909,12 +1922,10 @@ typedef enum VkDynamicState {
|
||||
VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000,
|
||||
VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
|
||||
VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
|
||||
VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
|
||||
VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
|
||||
VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
|
||||
VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
|
||||
VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
|
||||
VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
|
||||
VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003,
|
||||
VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004,
|
||||
VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005,
|
||||
@ -1925,6 +1936,7 @@ typedef enum VkDynamicState {
|
||||
VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010,
|
||||
VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011,
|
||||
VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012,
|
||||
VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
|
||||
VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013,
|
||||
VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014,
|
||||
VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
|
||||
@ -1946,6 +1958,8 @@ typedef enum VkDynamicState {
|
||||
VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031,
|
||||
VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032,
|
||||
VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000,
|
||||
VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = 1000259000,
|
||||
VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR,
|
||||
VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
|
||||
VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
|
||||
VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
|
||||
@ -2094,7 +2108,8 @@ typedef enum VkAttachmentLoadOp {
|
||||
VK_ATTACHMENT_LOAD_OP_LOAD = 0,
|
||||
VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
|
||||
VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
|
||||
VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
|
||||
VK_ATTACHMENT_LOAD_OP_NONE_KHR = 1000400000,
|
||||
VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE_KHR,
|
||||
VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkAttachmentLoadOp;
|
||||
|
||||
@ -2130,8 +2145,9 @@ typedef enum VkIndexType {
|
||||
VK_INDEX_TYPE_UINT16 = 0,
|
||||
VK_INDEX_TYPE_UINT32 = 1,
|
||||
VK_INDEX_TYPE_NONE_KHR = 1000165000,
|
||||
VK_INDEX_TYPE_UINT8_EXT = 1000265000,
|
||||
VK_INDEX_TYPE_UINT8_KHR = 1000265000,
|
||||
VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
|
||||
VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8_KHR,
|
||||
VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkIndexType;
|
||||
|
||||
@ -10196,6 +10212,58 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
|
||||
#endif
|
||||
|
||||
|
||||
// VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_dynamic_rendering_local_read 1
|
||||
#define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1
|
||||
#define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read"
|
||||
typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 dynamicRenderingLocalRead;
|
||||
} VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR;
|
||||
|
||||
typedef struct VkRenderingAttachmentLocationInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint32_t colorAttachmentCount;
|
||||
const uint32_t* pColorAttachmentLocations;
|
||||
} VkRenderingAttachmentLocationInfoKHR;
|
||||
|
||||
typedef struct VkRenderingInputAttachmentIndexInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint32_t colorAttachmentCount;
|
||||
const uint32_t* pColorAttachmentInputIndices;
|
||||
const uint32_t* pDepthInputAttachmentIndex;
|
||||
const uint32_t* pStencilInputAttachmentIndex;
|
||||
} VkRenderingInputAttachmentIndexInfoKHR;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR(
|
||||
VkCommandBuffer commandBuffer,
|
||||
const VkRenderingAttachmentLocationInfoKHR* pLocationInfo);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR(
|
||||
VkCommandBuffer commandBuffer,
|
||||
const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo);
|
||||
#endif
|
||||
|
||||
|
||||
// VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_shader_quad_control 1
|
||||
#define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1
|
||||
#define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control"
|
||||
typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 shaderQuadControl;
|
||||
} VkPhysicalDeviceShaderQuadControlFeaturesKHR;
|
||||
|
||||
|
||||
|
||||
// VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_spirv_1_4 1
|
||||
#define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
|
||||
@ -10976,6 +11044,31 @@ VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
|
||||
#endif
|
||||
|
||||
|
||||
// VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_shader_subgroup_rotate 1
|
||||
#define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 1
|
||||
#define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate"
|
||||
typedef struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 shaderSubgroupRotate;
|
||||
VkBool32 shaderSubgroupRotateClustered;
|
||||
} VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR;
|
||||
|
||||
|
||||
|
||||
// VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_shader_maximal_reconvergence 1
|
||||
#define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1
|
||||
#define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence"
|
||||
typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 shaderMaximalReconvergence;
|
||||
} VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR;
|
||||
|
||||
|
||||
|
||||
// VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_maintenance5 1
|
||||
#define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1
|
||||
@ -11284,6 +11377,88 @@ typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR {
|
||||
|
||||
|
||||
|
||||
// VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_load_store_op_none 1
|
||||
#define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1
|
||||
#define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none"
|
||||
|
||||
|
||||
// VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_shader_float_controls2 1
|
||||
#define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1
|
||||
#define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2"
|
||||
typedef struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 shaderFloatControls2;
|
||||
} VkPhysicalDeviceShaderFloatControls2FeaturesKHR;
|
||||
|
||||
|
||||
|
||||
// VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_index_type_uint8 1
|
||||
#define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1
|
||||
#define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8"
|
||||
typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 indexTypeUint8;
|
||||
} VkPhysicalDeviceIndexTypeUint8FeaturesKHR;
|
||||
|
||||
|
||||
|
||||
// VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_line_rasterization 1
|
||||
#define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1
|
||||
#define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization"
|
||||
|
||||
typedef enum VkLineRasterizationModeKHR {
|
||||
VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = 0,
|
||||
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = 1,
|
||||
VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = 2,
|
||||
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = 3,
|
||||
VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR,
|
||||
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR,
|
||||
VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR,
|
||||
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR,
|
||||
VK_LINE_RASTERIZATION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
|
||||
} VkLineRasterizationModeKHR;
|
||||
typedef struct VkPhysicalDeviceLineRasterizationFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 rectangularLines;
|
||||
VkBool32 bresenhamLines;
|
||||
VkBool32 smoothLines;
|
||||
VkBool32 stippledRectangularLines;
|
||||
VkBool32 stippledBresenhamLines;
|
||||
VkBool32 stippledSmoothLines;
|
||||
} VkPhysicalDeviceLineRasterizationFeaturesKHR;
|
||||
|
||||
typedef struct VkPhysicalDeviceLineRasterizationPropertiesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t lineSubPixelPrecisionBits;
|
||||
} VkPhysicalDeviceLineRasterizationPropertiesKHR;
|
||||
|
||||
typedef struct VkPipelineRasterizationLineStateCreateInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkLineRasterizationModeKHR lineRasterizationMode;
|
||||
VkBool32 stippledLineEnable;
|
||||
uint32_t lineStippleFactor;
|
||||
uint16_t lineStipplePattern;
|
||||
} VkPipelineRasterizationLineStateCreateInfoKHR;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t lineStippleFactor,
|
||||
uint16_t lineStipplePattern);
|
||||
#endif
|
||||
|
||||
|
||||
// VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_calibrated_timestamps 1
|
||||
#define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
|
||||
@ -11324,6 +11499,18 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR(
|
||||
#endif
|
||||
|
||||
|
||||
// VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_shader_expect_assume 1
|
||||
#define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1
|
||||
#define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume"
|
||||
typedef struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 shaderExpectAssume;
|
||||
} VkPhysicalDeviceShaderExpectAssumeFeaturesKHR;
|
||||
|
||||
|
||||
|
||||
// VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_KHR_maintenance6 1
|
||||
#define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1
|
||||
@ -14652,39 +14839,13 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
|
||||
#define VK_EXT_line_rasterization 1
|
||||
#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
|
||||
#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
|
||||
typedef VkLineRasterizationModeKHR VkLineRasterizationModeEXT;
|
||||
|
||||
typedef enum VkLineRasterizationModeEXT {
|
||||
VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
|
||||
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
|
||||
VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
|
||||
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
|
||||
VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||
} VkLineRasterizationModeEXT;
|
||||
typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 rectangularLines;
|
||||
VkBool32 bresenhamLines;
|
||||
VkBool32 smoothLines;
|
||||
VkBool32 stippledRectangularLines;
|
||||
VkBool32 stippledBresenhamLines;
|
||||
VkBool32 stippledSmoothLines;
|
||||
} VkPhysicalDeviceLineRasterizationFeaturesEXT;
|
||||
typedef VkPhysicalDeviceLineRasterizationFeaturesKHR VkPhysicalDeviceLineRasterizationFeaturesEXT;
|
||||
|
||||
typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t lineSubPixelPrecisionBits;
|
||||
} VkPhysicalDeviceLineRasterizationPropertiesEXT;
|
||||
typedef VkPhysicalDeviceLineRasterizationPropertiesKHR VkPhysicalDeviceLineRasterizationPropertiesEXT;
|
||||
|
||||
typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkLineRasterizationModeEXT lineRasterizationMode;
|
||||
VkBool32 stippledLineEnable;
|
||||
uint32_t lineStippleFactor;
|
||||
uint16_t lineStipplePattern;
|
||||
} VkPipelineRasterizationLineStateCreateInfoEXT;
|
||||
typedef VkPipelineRasterizationLineStateCreateInfoKHR VkPipelineRasterizationLineStateCreateInfoEXT;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
|
||||
|
||||
@ -14740,11 +14901,7 @@ VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
|
||||
#define VK_EXT_index_type_uint8 1
|
||||
#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
|
||||
#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
|
||||
typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 indexTypeUint8;
|
||||
} VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
|
||||
typedef VkPhysicalDeviceIndexTypeUint8FeaturesKHR VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
|
||||
|
||||
|
||||
|
||||
@ -17769,7 +17926,6 @@ typedef struct VkColorBlendAdvancedEXT {
|
||||
VkBool32 clampResults;
|
||||
} VkColorBlendAdvancedEXT;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples);
|
||||
@ -17780,6 +17936,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBu
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize);
|
||||
@ -17802,10 +17959,6 @@ typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkComma
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkTessellationDomainOrigin domainOrigin);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkBool32 depthClampEnable);
|
||||
@ -17853,6 +18006,10 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT(
|
||||
uint32_t attachmentCount,
|
||||
const VkColorComponentFlags* pColorWriteMasks);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
VkTessellationDomainOrigin domainOrigin);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t rasterizationStream);
|
||||
|
49
MacroLibX/third_party/vulkan/vulkan_enums.hpp
vendored
@ -958,7 +958,11 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
ePhysicalDeviceFragmentShadingRateKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
|
||||
ePhysicalDeviceShaderCoreProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
|
||||
ePhysicalDeviceCoherentMemoryFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
|
||||
ePhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR,
|
||||
eRenderingAttachmentLocationInfoKHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR,
|
||||
eRenderingInputAttachmentIndexInfoKHR = VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR,
|
||||
ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
|
||||
ePhysicalDeviceShaderQuadControlFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
|
||||
ePhysicalDeviceMemoryBudgetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
|
||||
ePhysicalDeviceMemoryPriorityFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
|
||||
eMemoryPriorityAllocateInfoEXT = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
|
||||
@ -1263,6 +1267,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eDeviceBufferMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR,
|
||||
eDeviceImageMemoryRequirementsKHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR,
|
||||
ePhysicalDeviceShaderCorePropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
|
||||
ePhysicalDeviceShaderSubgroupRotateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR,
|
||||
eDeviceQueueShaderCoreControlCreateInfoARM = VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
|
||||
ePhysicalDeviceSchedulingControlsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
|
||||
ePhysicalDeviceSchedulingControlsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
|
||||
@ -1289,6 +1294,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eComputePipelineIndirectBufferInfoNV = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
|
||||
ePipelineIndirectDeviceAddressInfoNV = VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
|
||||
ePhysicalDeviceLinearColorAttachmentFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
|
||||
ePhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
|
||||
ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
|
||||
ePhysicalDeviceImageProcessingFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
|
||||
ePhysicalDeviceImageProcessingPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
|
||||
@ -1382,6 +1388,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
ePhysicalDeviceVertexAttributeDivisorPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR,
|
||||
ePipelineVertexInputDivisorStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR,
|
||||
ePhysicalDeviceVertexAttributeDivisorFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR,
|
||||
ePhysicalDeviceShaderFloatControls2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR,
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
eScreenBufferPropertiesQNX = VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX,
|
||||
eScreenBufferFormatPropertiesQNX = VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
|
||||
@ -1390,7 +1397,12 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
ePhysicalDeviceExternalMemoryScreenBufferFeaturesQNX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
|
||||
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
ePhysicalDeviceLayeredDriverPropertiesMSFT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
|
||||
ePhysicalDeviceIndexTypeUint8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR,
|
||||
ePhysicalDeviceLineRasterizationFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR,
|
||||
ePipelineRasterizationLineStateCreateInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR,
|
||||
ePhysicalDeviceLineRasterizationPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR,
|
||||
eCalibratedTimestampInfoKHR = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR,
|
||||
ePhysicalDeviceShaderExpectAssumeFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR,
|
||||
ePhysicalDeviceMaintenance6FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR,
|
||||
ePhysicalDeviceMaintenance6PropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR,
|
||||
eBindMemoryStatusKHR = VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR,
|
||||
@ -2502,6 +2514,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eShadingRateOptimalNV = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
|
||||
eFragmentDensityMapOptimalEXT = VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT,
|
||||
eFragmentShadingRateAttachmentOptimalKHR = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
|
||||
eRenderingLocalReadKHR = VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR,
|
||||
eDepthAttachmentOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR,
|
||||
eDepthReadOnlyOptimalKHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR,
|
||||
eStencilAttachmentOptimalKHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR,
|
||||
@ -2765,7 +2778,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eLogicOpEXT = VK_DYNAMIC_STATE_LOGIC_OP_EXT,
|
||||
ePrimitiveRestartEnableEXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT,
|
||||
eColorWriteEnableEXT = VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT,
|
||||
eTessellationDomainOriginEXT = VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT,
|
||||
eDepthClampEnableEXT = VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT,
|
||||
ePolygonModeEXT = VK_DYNAMIC_STATE_POLYGON_MODE_EXT,
|
||||
eRasterizationSamplesEXT = VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT,
|
||||
@ -2776,6 +2788,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eColorBlendEnableEXT = VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,
|
||||
eColorBlendEquationEXT = VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT,
|
||||
eColorWriteMaskEXT = VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT,
|
||||
eTessellationDomainOriginEXT = VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT,
|
||||
eRasterizationStreamEXT = VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT,
|
||||
eConservativeRasterizationModeEXT = VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT,
|
||||
eExtraPrimitiveOverestimationSizeEXT = VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT,
|
||||
@ -2796,7 +2809,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eShadingRateImageEnableNV = VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV,
|
||||
eRepresentativeFragmentTestEnableNV = VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV,
|
||||
eCoverageReductionModeNV = VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV,
|
||||
eAttachmentFeedbackLoopEnableEXT = VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT
|
||||
eAttachmentFeedbackLoopEnableEXT = VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT,
|
||||
eLineStippleKHR = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR
|
||||
};
|
||||
|
||||
enum class FrontFace
|
||||
@ -3349,7 +3363,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eLoad = VK_ATTACHMENT_LOAD_OP_LOAD,
|
||||
eClear = VK_ATTACHMENT_LOAD_OP_CLEAR,
|
||||
eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
|
||||
eNoneEXT = VK_ATTACHMENT_LOAD_OP_NONE_EXT
|
||||
eNoneEXT = VK_ATTACHMENT_LOAD_OP_NONE_EXT,
|
||||
eNoneKHR = VK_ATTACHMENT_LOAD_OP_NONE_KHR
|
||||
};
|
||||
|
||||
enum class AttachmentStoreOp
|
||||
@ -3539,7 +3554,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eUint32 = VK_INDEX_TYPE_UINT32,
|
||||
eNoneKHR = VK_INDEX_TYPE_NONE_KHR,
|
||||
eNoneNV = VK_INDEX_TYPE_NONE_NV,
|
||||
eUint8EXT = VK_INDEX_TYPE_UINT8_EXT
|
||||
eUint8EXT = VK_INDEX_TYPE_UINT8_EXT,
|
||||
eUint8KHR = VK_INDEX_TYPE_UINT8_KHR
|
||||
};
|
||||
|
||||
enum class StencilFaceFlagBits : VkStencilFaceFlags
|
||||
@ -6024,16 +6040,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR HeadlessSurfaceCreateFlagsEXT allFlags = {};
|
||||
};
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
|
||||
enum class LineRasterizationModeEXT
|
||||
{
|
||||
eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,
|
||||
eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT,
|
||||
eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT,
|
||||
eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
|
||||
};
|
||||
|
||||
//=== VK_KHR_pipeline_executable_properties ===
|
||||
|
||||
enum class PipelineExecutableStatisticFormatKHR
|
||||
@ -7145,6 +7151,17 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
eD3D12 = VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT
|
||||
};
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
|
||||
enum class LineRasterizationModeKHR
|
||||
{
|
||||
eDefault = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR,
|
||||
eRectangular = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR,
|
||||
eBresenham = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR,
|
||||
eRectangularSmooth = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR
|
||||
};
|
||||
using LineRasterizationModeEXT = LineRasterizationModeKHR;
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
|
||||
enum class TimeDomainKHR
|
||||
@ -7192,11 +7209,11 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
template <>
|
||||
struct IndexTypeValue<uint8_t>
|
||||
{
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8EXT;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR IndexType value = IndexType::eUint8KHR;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct CppType<IndexType, IndexType::eUint8EXT>
|
||||
struct CppType<IndexType, IndexType::eUint8KHR>
|
||||
{
|
||||
using Type = uint8_t;
|
||||
};
|
||||
|
@ -248,7 +248,9 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
"VK_KHR_fragment_shading_rate",
|
||||
"VK_AMD_shader_core_properties2",
|
||||
"VK_AMD_device_coherent_memory",
|
||||
"VK_KHR_dynamic_rendering_local_read",
|
||||
"VK_EXT_shader_image_atomic_int64",
|
||||
"VK_KHR_shader_quad_control",
|
||||
"VK_KHR_spirv_1_4",
|
||||
"VK_EXT_memory_budget",
|
||||
"VK_EXT_memory_priority",
|
||||
@ -368,6 +370,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
"VK_EXT_pageable_device_local_memory",
|
||||
"VK_KHR_maintenance4",
|
||||
"VK_ARM_shader_core_properties",
|
||||
"VK_KHR_shader_subgroup_rotate",
|
||||
"VK_ARM_scheduling_controls",
|
||||
"VK_EXT_image_sliced_view_of_3d",
|
||||
"VK_VALVE_descriptor_set_host_mapping",
|
||||
@ -379,6 +382,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
"VK_NV_memory_decompression",
|
||||
"VK_NV_device_generated_commands_compute",
|
||||
"VK_NV_linear_color_attachment",
|
||||
"VK_KHR_shader_maximal_reconvergence",
|
||||
"VK_EXT_image_compression_control_swapchain",
|
||||
"VK_QCOM_image_processing",
|
||||
"VK_EXT_nested_command_buffer",
|
||||
@ -416,11 +420,16 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
"VK_QCOM_filter_cubic_clamp",
|
||||
"VK_EXT_attachment_feedback_loop_dynamic_state",
|
||||
"VK_KHR_vertex_attribute_divisor",
|
||||
"VK_KHR_load_store_op_none",
|
||||
"VK_KHR_shader_float_controls2",
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
"VK_QNX_external_memory_screen_buffer",
|
||||
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
"VK_MSFT_layered_driver",
|
||||
"VK_KHR_index_type_uint8",
|
||||
"VK_KHR_line_rasterization",
|
||||
"VK_KHR_calibrated_timestamps",
|
||||
"VK_KHR_shader_expect_assume",
|
||||
"VK_KHR_maintenance6",
|
||||
"VK_NV_descriptor_pool_overallocation"
|
||||
};
|
||||
@ -1231,12 +1240,23 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } } } },
|
||||
{ "VK_KHR_dynamic_rendering_local_read",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_dynamic_rendering",
|
||||
} } } } },
|
||||
{ "VK_EXT_shader_image_atomic_int64",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_KHR_shader_quad_control",
|
||||
{ { "VK_VERSION_1_1",
|
||||
{ {
|
||||
"VK_KHR_vulkan_memory_model",
|
||||
"VK_KHR_shader_maximal_reconvergence",
|
||||
} } } } },
|
||||
{ "VK_KHR_spirv_1_4",
|
||||
{ { "VK_VERSION_1_1",
|
||||
{ {
|
||||
@ -1845,6 +1865,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{ {
|
||||
"VK_KHR_surface",
|
||||
} } } } },
|
||||
{ "VK_KHR_shader_maximal_reconvergence", { { "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_EXT_image_compression_control_swapchain",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
@ -2031,6 +2052,11 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_KHR_shader_float_controls2",
|
||||
{ { "VK_VERSION_1_1",
|
||||
{ {
|
||||
"VK_KHR_shader_float_controls",
|
||||
} } } } },
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
{ "VK_QNX_external_memory_screen_buffer",
|
||||
{ { "VK_VERSION_1_0",
|
||||
@ -2049,12 +2075,29 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } } } },
|
||||
{ "VK_KHR_index_type_uint8",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_KHR_line_rasterization",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_KHR_calibrated_timestamps",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_KHR_shader_expect_assume",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } } } },
|
||||
{ "VK_KHR_maintenance6", { { "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_NV_descriptor_pool_overallocation", { { "VK_VERSION_1_1", { {} } } } }
|
||||
};
|
||||
@ -2163,6 +2206,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{ "VK_KHR_uniform_buffer_standard_layout", "VK_VERSION_1_2" },
|
||||
{ "VK_KHR_buffer_device_address", "VK_VERSION_1_2" },
|
||||
{ "VK_EXT_host_query_reset", "VK_VERSION_1_2" },
|
||||
{ "VK_EXT_index_type_uint8", "VK_KHR_index_type_uint8" },
|
||||
{ "VK_EXT_extended_dynamic_state", "VK_VERSION_1_3" },
|
||||
{ "VK_EXT_shader_demote_to_helper_invocation", "VK_VERSION_1_3" },
|
||||
{ "VK_KHR_shader_integer_dot_product", "VK_VERSION_1_3" },
|
||||
@ -2181,6 +2225,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{ "VK_KHR_format_feature_flags2", "VK_VERSION_1_3" },
|
||||
{ "VK_EXT_extended_dynamic_state2", "VK_VERSION_1_3" },
|
||||
{ "VK_EXT_global_priority_query", "VK_KHR_global_priority" },
|
||||
{ "VK_EXT_load_store_op_none", "VK_KHR_load_store_op_none" },
|
||||
{ "VK_KHR_maintenance4", "VK_VERSION_1_3" }
|
||||
};
|
||||
return promotedExtensions;
|
||||
@ -2518,6 +2563,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{
|
||||
return "VK_VERSION_1_2";
|
||||
}
|
||||
if ( extension == "VK_EXT_index_type_uint8" )
|
||||
{
|
||||
return "VK_KHR_index_type_uint8";
|
||||
}
|
||||
if ( extension == "VK_EXT_extended_dynamic_state" )
|
||||
{
|
||||
return "VK_VERSION_1_3";
|
||||
@ -2590,6 +2639,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
{
|
||||
return "VK_KHR_global_priority";
|
||||
}
|
||||
if ( extension == "VK_EXT_load_store_op_none" )
|
||||
{
|
||||
return "VK_KHR_load_store_op_none";
|
||||
}
|
||||
if ( extension == "VK_KHR_maintenance4" )
|
||||
{
|
||||
return "VK_VERSION_1_3";
|
||||
@ -2708,7 +2761,8 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
( extension == "VK_GOOGLE_hlsl_functionality1" ) || ( extension == "VK_GOOGLE_decorate_string" ) ||
|
||||
( extension == "VK_EXT_subgroup_size_control" ) || ( extension == "VK_KHR_fragment_shading_rate" ) ||
|
||||
( extension == "VK_AMD_shader_core_properties2" ) || ( extension == "VK_AMD_device_coherent_memory" ) ||
|
||||
( extension == "VK_EXT_shader_image_atomic_int64" ) || ( extension == "VK_KHR_spirv_1_4" ) || ( extension == "VK_EXT_memory_budget" ) ||
|
||||
( extension == "VK_KHR_dynamic_rendering_local_read" ) || ( extension == "VK_EXT_shader_image_atomic_int64" ) ||
|
||||
( extension == "VK_KHR_shader_quad_control" ) || ( extension == "VK_KHR_spirv_1_4" ) || ( extension == "VK_EXT_memory_budget" ) ||
|
||||
( extension == "VK_EXT_memory_priority" ) || ( extension == "VK_NV_dedicated_allocation_image_aliasing" ) ||
|
||||
( extension == "VK_KHR_separate_depth_stencil_layouts" ) || ( extension == "VK_EXT_buffer_device_address" ) ||
|
||||
( extension == "VK_EXT_tooling_info" ) || ( extension == "VK_EXT_separate_stencil_usage" ) || ( extension == "VK_KHR_present_wait" ) ||
|
||||
@ -2770,17 +2824,18 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|| ( extension == "VK_EXT_load_store_op_none" ) || ( extension == "VK_HUAWEI_cluster_culling_shader" ) ||
|
||||
( extension == "VK_EXT_border_color_swizzle" ) || ( extension == "VK_EXT_pageable_device_local_memory" ) || ( extension == "VK_KHR_maintenance4" ) ||
|
||||
( extension == "VK_ARM_shader_core_properties" ) || ( extension == "VK_ARM_scheduling_controls" ) ||
|
||||
( extension == "VK_EXT_image_sliced_view_of_3d" ) || ( extension == "VK_VALVE_descriptor_set_host_mapping" ) ||
|
||||
( extension == "VK_EXT_depth_clamp_zero_one" ) || ( extension == "VK_EXT_non_seamless_cube_map" ) || ( extension == "VK_ARM_render_pass_striped" ) ||
|
||||
( extension == "VK_ARM_shader_core_properties" ) || ( extension == "VK_KHR_shader_subgroup_rotate" ) ||
|
||||
( extension == "VK_ARM_scheduling_controls" ) || ( extension == "VK_EXT_image_sliced_view_of_3d" ) ||
|
||||
( extension == "VK_VALVE_descriptor_set_host_mapping" ) || ( extension == "VK_EXT_depth_clamp_zero_one" ) ||
|
||||
( extension == "VK_EXT_non_seamless_cube_map" ) || ( extension == "VK_ARM_render_pass_striped" ) ||
|
||||
( extension == "VK_QCOM_fragment_density_map_offset" ) || ( extension == "VK_NV_copy_memory_indirect" ) ||
|
||||
( extension == "VK_NV_memory_decompression" ) || ( extension == "VK_NV_device_generated_commands_compute" ) ||
|
||||
( extension == "VK_NV_linear_color_attachment" ) || ( extension == "VK_EXT_image_compression_control_swapchain" ) ||
|
||||
( extension == "VK_QCOM_image_processing" ) || ( extension == "VK_EXT_nested_command_buffer" ) ||
|
||||
( extension == "VK_EXT_external_memory_acquire_unmodified" ) || ( extension == "VK_EXT_extended_dynamic_state3" ) ||
|
||||
( extension == "VK_EXT_subpass_merge_feedback" ) || ( extension == "VK_EXT_shader_module_identifier" ) ||
|
||||
( extension == "VK_EXT_rasterization_order_attachment_access" ) || ( extension == "VK_NV_optical_flow" ) ||
|
||||
( extension == "VK_EXT_legacy_dithering" ) || ( extension == "VK_EXT_pipeline_protected_access" )
|
||||
( extension == "VK_NV_linear_color_attachment" ) || ( extension == "VK_KHR_shader_maximal_reconvergence" ) ||
|
||||
( extension == "VK_EXT_image_compression_control_swapchain" ) || ( extension == "VK_QCOM_image_processing" ) ||
|
||||
( extension == "VK_EXT_nested_command_buffer" ) || ( extension == "VK_EXT_external_memory_acquire_unmodified" ) ||
|
||||
( extension == "VK_EXT_extended_dynamic_state3" ) || ( extension == "VK_EXT_subpass_merge_feedback" ) ||
|
||||
( extension == "VK_EXT_shader_module_identifier" ) || ( extension == "VK_EXT_rasterization_order_attachment_access" ) ||
|
||||
( extension == "VK_NV_optical_flow" ) || ( extension == "VK_EXT_legacy_dithering" ) || ( extension == "VK_EXT_pipeline_protected_access" )
|
||||
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
|
||||
|| ( extension == "VK_ANDROID_external_format_resolve" )
|
||||
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
||||
@ -2793,11 +2848,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
( extension == "VK_QCOM_multiview_per_view_render_areas" ) || ( extension == "VK_KHR_video_maintenance1" ) ||
|
||||
( extension == "VK_NV_per_stage_descriptor_set" ) || ( extension == "VK_QCOM_image_processing2" ) ||
|
||||
( extension == "VK_QCOM_filter_cubic_weights" ) || ( extension == "VK_QCOM_ycbcr_degamma" ) || ( extension == "VK_QCOM_filter_cubic_clamp" ) ||
|
||||
( extension == "VK_EXT_attachment_feedback_loop_dynamic_state" ) || ( extension == "VK_KHR_vertex_attribute_divisor" )
|
||||
( extension == "VK_EXT_attachment_feedback_loop_dynamic_state" ) || ( extension == "VK_KHR_vertex_attribute_divisor" ) ||
|
||||
( extension == "VK_KHR_load_store_op_none" ) || ( extension == "VK_KHR_shader_float_controls2" )
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
|| ( extension == "VK_QNX_external_memory_screen_buffer" )
|
||||
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
|| ( extension == "VK_MSFT_layered_driver" ) || ( extension == "VK_KHR_calibrated_timestamps" ) || ( extension == "VK_KHR_maintenance6" ) ||
|
||||
|| ( extension == "VK_MSFT_layered_driver" ) || ( extension == "VK_KHR_index_type_uint8" ) || ( extension == "VK_KHR_line_rasterization" ) ||
|
||||
( extension == "VK_KHR_calibrated_timestamps" ) || ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) ||
|
||||
( extension == "VK_NV_descriptor_pool_overallocation" );
|
||||
}
|
||||
|
||||
@ -2896,15 +2953,16 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
( extension == "VK_EXT_scalar_block_layout" ) || ( extension == "VK_EXT_subgroup_size_control" ) || ( extension == "VK_KHR_spirv_1_4" ) ||
|
||||
( extension == "VK_KHR_separate_depth_stencil_layouts" ) || ( extension == "VK_EXT_tooling_info" ) ||
|
||||
( extension == "VK_EXT_separate_stencil_usage" ) || ( extension == "VK_KHR_uniform_buffer_standard_layout" ) ||
|
||||
( extension == "VK_KHR_buffer_device_address" ) || ( extension == "VK_EXT_host_query_reset" ) || ( extension == "VK_EXT_extended_dynamic_state" ) ||
|
||||
( extension == "VK_EXT_shader_demote_to_helper_invocation" ) || ( extension == "VK_KHR_shader_integer_dot_product" ) ||
|
||||
( extension == "VK_EXT_texel_buffer_alignment" ) || ( extension == "VK_KHR_shader_non_semantic_info" ) || ( extension == "VK_EXT_private_data" ) ||
|
||||
( extension == "VK_KHR_buffer_device_address" ) || ( extension == "VK_EXT_host_query_reset" ) || ( extension == "VK_EXT_index_type_uint8" ) ||
|
||||
( extension == "VK_EXT_extended_dynamic_state" ) || ( extension == "VK_EXT_shader_demote_to_helper_invocation" ) ||
|
||||
( extension == "VK_KHR_shader_integer_dot_product" ) || ( extension == "VK_EXT_texel_buffer_alignment" ) ||
|
||||
( extension == "VK_KHR_shader_non_semantic_info" ) || ( extension == "VK_EXT_private_data" ) ||
|
||||
( extension == "VK_EXT_pipeline_creation_cache_control" ) || ( extension == "VK_KHR_synchronization2" ) ||
|
||||
( extension == "VK_KHR_zero_initialize_workgroup_memory" ) || ( extension == "VK_EXT_ycbcr_2plane_444_formats" ) ||
|
||||
( extension == "VK_EXT_image_robustness" ) || ( extension == "VK_KHR_copy_commands2" ) || ( extension == "VK_EXT_4444_formats" ) ||
|
||||
( extension == "VK_ARM_rasterization_order_attachment_access" ) || ( extension == "VK_VALVE_mutable_descriptor_type" ) ||
|
||||
( extension == "VK_KHR_format_feature_flags2" ) || ( extension == "VK_EXT_extended_dynamic_state2" ) ||
|
||||
( extension == "VK_EXT_global_priority_query" ) || ( extension == "VK_KHR_maintenance4" );
|
||||
( extension == "VK_EXT_global_priority_query" ) || ( extension == "VK_EXT_load_store_op_none" ) || ( extension == "VK_KHR_maintenance4" );
|
||||
}
|
||||
} // namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
|
3101
MacroLibX/third_party/vulkan/vulkan_funcs.hpp
vendored
542
MacroLibX/third_party/vulkan/vulkan_handles.hpp
vendored
173
MacroLibX/third_party/vulkan/vulkan_hash.hpp
vendored
@ -8355,6 +8355,21 @@ namespace std
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR const & physicalDeviceDynamicRenderingLocalReadFeaturesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingLocalReadFeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingLocalReadFeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDynamicRenderingLocalReadFeaturesKHR.dynamicRenderingLocalRead );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT>
|
||||
{
|
||||
@ -9282,15 +9297,15 @@ namespace std
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesKHR>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT const & physicalDeviceIndexTypeUint8FeaturesEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesKHR const & physicalDeviceIndexTypeUint8FeaturesKHR ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesEXT.indexTypeUint8 );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceIndexTypeUint8FeaturesKHR.indexTypeUint8 );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
@ -9519,34 +9534,34 @@ namespace std
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT const & physicalDeviceLineRasterizationFeaturesEXT ) const
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesKHR const & physicalDeviceLineRasterizationFeaturesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.rectangularLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.bresenhamLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.smoothLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledRectangularLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledBresenhamLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesEXT.stippledSmoothLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.rectangularLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.bresenhamLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.smoothLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.stippledRectangularLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.stippledBresenhamLines );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationFeaturesKHR.stippledSmoothLines );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT const & physicalDeviceLineRasterizationPropertiesEXT ) const
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesKHR const & physicalDeviceLineRasterizationPropertiesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesEXT.lineSubPixelPrecisionBits );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceLineRasterizationPropertiesKHR.lineSubPixelPrecisionBits );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
@ -11179,6 +11194,20 @@ namespace std
|
||||
};
|
||||
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderExpectAssumeFeaturesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderExpectAssumeFeaturesKHR const & physicalDeviceShaderExpectAssumeFeaturesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderExpectAssumeFeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderExpectAssumeFeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderExpectAssumeFeaturesKHR.shaderExpectAssume );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat16Int8Features>
|
||||
{
|
||||
@ -11194,6 +11223,20 @@ namespace std
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloatControls2FeaturesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloatControls2FeaturesKHR const & physicalDeviceShaderFloatControls2FeaturesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloatControls2FeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloatControls2FeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderFloatControls2FeaturesKHR.shaderFloatControls2 );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT>
|
||||
{
|
||||
@ -11296,6 +11339,21 @@ namespace std
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR const & physicalDeviceShaderMaximalReconvergenceFeaturesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMaximalReconvergenceFeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMaximalReconvergenceFeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMaximalReconvergenceFeaturesKHR.shaderMaximalReconvergence );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierFeaturesEXT>
|
||||
{
|
||||
@ -11359,6 +11417,20 @@ namespace std
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderQuadControlFeaturesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderQuadControlFeaturesKHR const & physicalDeviceShaderQuadControlFeaturesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderQuadControlFeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderQuadControlFeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderQuadControlFeaturesKHR.shaderQuadControl );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV>
|
||||
{
|
||||
@ -11402,6 +11474,21 @@ namespace std
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupRotateFeaturesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupRotateFeaturesKHR const & physicalDeviceShaderSubgroupRotateFeaturesKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupRotateFeaturesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupRotateFeaturesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupRotateFeaturesKHR.shaderSubgroupRotate );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSubgroupRotateFeaturesKHR.shaderSubgroupRotateClustered );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>
|
||||
{
|
||||
@ -12688,18 +12775,18 @@ namespace std
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT const & pipelineRasterizationLineStateCreateInfoEXT ) const
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoKHR const & pipelineRasterizationLineStateCreateInfoKHR ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineRasterizationMode );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.stippledLineEnable );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineStippleFactor );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoEXT.lineStipplePattern );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoKHR.lineRasterizationMode );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoKHR.stippledLineEnable );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoKHR.lineStippleFactor );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRasterizationLineStateCreateInfoKHR.lineStipplePattern );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
@ -13914,6 +14001,20 @@ namespace std
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfoKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfoKHR const & renderingAttachmentLocationInfoKHR ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingAttachmentLocationInfoKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingAttachmentLocationInfoKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingAttachmentLocationInfoKHR.colorAttachmentCount );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingAttachmentLocationInfoKHR.pColorAttachmentLocations );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::RenderingFragmentDensityMapAttachmentInfoEXT>
|
||||
{
|
||||
@ -13965,6 +14066,22 @@ namespace std
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfoKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfoKHR const & renderingInputAttachmentIndexInfoKHR ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingInputAttachmentIndexInfoKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingInputAttachmentIndexInfoKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingInputAttachmentIndexInfoKHR.colorAttachmentCount );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingInputAttachmentIndexInfoKHR.pColorAttachmentInputIndices );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingInputAttachmentIndexInfoKHR.pDepthInputAttachmentIndex );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, renderingInputAttachmentIndexInfoKHR.pStencilInputAttachmentIndex );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ResolveImageInfo2>
|
||||
{
|
||||
|
431
MacroLibX/third_party/vulkan/vulkan_raii.hpp
vendored
@ -182,6 +182,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
return bool( m_handle );
|
||||
}
|
||||
|
||||
# if defined( VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST )
|
||||
operator HandleType() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_handle;
|
||||
}
|
||||
# endif
|
||||
|
||||
const HandleType * operator->() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return &m_handle;
|
||||
|
@ -4278,6 +4278,30 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceCoherentMemoryFeaturesAMD>::value,
|
||||
"PhysicalDeviceCoherentMemoryFeaturesAMD is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_dynamic_rendering_local_read ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR>::value,
|
||||
"PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfoKHR ) == sizeof( VkRenderingAttachmentLocationInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfoKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderingAttachmentLocationInfoKHR>::value,
|
||||
"RenderingAttachmentLocationInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfoKHR ) == sizeof( VkRenderingInputAttachmentIndexInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfoKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderingInputAttachmentIndexInfoKHR>::value,
|
||||
"RenderingInputAttachmentIndexInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_shader_image_atomic_int64 ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT ) ==
|
||||
@ -4288,6 +4312,15 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT>::value,
|
||||
"PhysicalDeviceShaderImageAtomicInt64FeaturesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_shader_quad_control ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderQuadControlFeaturesKHR ) == sizeof( VkPhysicalDeviceShaderQuadControlFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderQuadControlFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderQuadControlFeaturesKHR>::value,
|
||||
"PhysicalDeviceShaderQuadControlFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_memory_budget ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryBudgetPropertiesEXT ) == sizeof( VkPhysicalDeviceMemoryBudgetPropertiesEXT ),
|
||||
@ -4485,31 +4518,6 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Headless
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT>::value,
|
||||
"HeadlessSurfaceCreateInfoEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT ) == sizeof( VkPhysicalDeviceLineRasterizationFeaturesEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesEXT>::value,
|
||||
"PhysicalDeviceLineRasterizationFeaturesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT ) ==
|
||||
sizeof( VkPhysicalDeviceLineRasterizationPropertiesEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesEXT>::value,
|
||||
"PhysicalDeviceLineRasterizationPropertiesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT ) ==
|
||||
sizeof( VkPipelineRasterizationLineStateCreateInfoEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoEXT>::value,
|
||||
"PipelineRasterizationLineStateCreateInfoEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_shader_atomic_float ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT ) == sizeof( VkPhysicalDeviceShaderAtomicFloatFeaturesEXT ),
|
||||
@ -4519,15 +4527,6 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloatFeaturesEXT>::value,
|
||||
"PhysicalDeviceShaderAtomicFloatFeaturesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_index_type_uint8 ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT ) == sizeof( VkPhysicalDeviceIndexTypeUint8FeaturesEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesEXT>::value,
|
||||
"PhysicalDeviceIndexTypeUint8FeaturesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedDynamicStateFeaturesEXT ) ==
|
||||
@ -6230,6 +6229,16 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderCorePropertiesARM>::value,
|
||||
"PhysicalDeviceShaderCorePropertiesARM is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_shader_subgroup_rotate ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupRotateFeaturesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupRotateFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupRotateFeaturesKHR>::value,
|
||||
"PhysicalDeviceShaderSubgroupRotateFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_ARM_scheduling_controls ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DeviceQueueShaderCoreControlCreateInfoARM ) == sizeof( VkDeviceQueueShaderCoreControlCreateInfoARM ),
|
||||
@ -6468,6 +6477,16 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceLinearColorAttachmentFeaturesNV>::value,
|
||||
"PhysicalDeviceLinearColorAttachmentFeaturesNV is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_shader_maximal_reconvergence ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR>::value,
|
||||
"PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_image_compression_control_swapchain ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT ) ==
|
||||
@ -7224,6 +7243,16 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceVertexAttributeDivisorFeaturesKHR>::value,
|
||||
"PhysicalDeviceVertexAttributeDivisorFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_shader_float_controls2 ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloatControls2FeaturesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceShaderFloatControls2FeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloatControls2FeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloatControls2FeaturesKHR>::value,
|
||||
"PhysicalDeviceShaderFloatControls2FeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
//=== VK_QNX_external_memory_screen_buffer ===
|
||||
|
||||
@ -7268,6 +7297,40 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceLayeredDriverPropertiesMSFT>::value,
|
||||
"PhysicalDeviceLayeredDriverPropertiesMSFT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_index_type_uint8 ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesKHR ) == sizeof( VkPhysicalDeviceIndexTypeUint8FeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceIndexTypeUint8FeaturesKHR>::value,
|
||||
"PhysicalDeviceIndexTypeUint8FeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesKHR ) == sizeof( VkPhysicalDeviceLineRasterizationFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationFeaturesKHR>::value,
|
||||
"PhysicalDeviceLineRasterizationFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceLineRasterizationPropertiesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceLineRasterizationPropertiesKHR>::value,
|
||||
"PhysicalDeviceLineRasterizationPropertiesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoKHR ) ==
|
||||
sizeof( VkPipelineRasterizationLineStateCreateInfoKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineRasterizationLineStateCreateInfoKHR>::value,
|
||||
"PipelineRasterizationLineStateCreateInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR ) == sizeof( VkCalibratedTimestampInfoKHR ),
|
||||
@ -7276,6 +7339,16 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Calibrat
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoKHR>::value,
|
||||
"CalibratedTimestampInfoKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_shader_expect_assume ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderExpectAssumeFeaturesKHR ) ==
|
||||
sizeof( VkPhysicalDeviceShaderExpectAssumeFeaturesKHR ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderExpectAssumeFeaturesKHR>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderExpectAssumeFeaturesKHR>::value,
|
||||
"PhysicalDeviceShaderExpectAssumeFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_KHR_maintenance6 ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance6FeaturesKHR ) == sizeof( VkPhysicalDeviceMaintenance6FeaturesKHR ),
|
||||
|
1369
MacroLibX/third_party/vulkan/vulkan_structs.hpp
vendored
@ -4127,7 +4127,11 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case StructureType::ePhysicalDeviceFragmentShadingRateKHR: return "PhysicalDeviceFragmentShadingRateKHR";
|
||||
case StructureType::ePhysicalDeviceShaderCoreProperties2AMD: return "PhysicalDeviceShaderCoreProperties2AMD";
|
||||
case StructureType::ePhysicalDeviceCoherentMemoryFeaturesAMD: return "PhysicalDeviceCoherentMemoryFeaturesAMD";
|
||||
case StructureType::ePhysicalDeviceDynamicRenderingLocalReadFeaturesKHR: return "PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR";
|
||||
case StructureType::eRenderingAttachmentLocationInfoKHR: return "RenderingAttachmentLocationInfoKHR";
|
||||
case StructureType::eRenderingInputAttachmentIndexInfoKHR: return "RenderingInputAttachmentIndexInfoKHR";
|
||||
case StructureType::ePhysicalDeviceShaderImageAtomicInt64FeaturesEXT: return "PhysicalDeviceShaderImageAtomicInt64FeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceShaderQuadControlFeaturesKHR: return "PhysicalDeviceShaderQuadControlFeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceMemoryBudgetPropertiesEXT: return "PhysicalDeviceMemoryBudgetPropertiesEXT";
|
||||
case StructureType::ePhysicalDeviceMemoryPriorityFeaturesEXT: return "PhysicalDeviceMemoryPriorityFeaturesEXT";
|
||||
case StructureType::eMemoryPriorityAllocateInfoEXT: return "MemoryPriorityAllocateInfoEXT";
|
||||
@ -4154,11 +4158,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case StructureType::eSurfaceFullScreenExclusiveWin32InfoEXT: return "SurfaceFullScreenExclusiveWin32InfoEXT";
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
case StructureType::eHeadlessSurfaceCreateInfoEXT: return "HeadlessSurfaceCreateInfoEXT";
|
||||
case StructureType::ePhysicalDeviceLineRasterizationFeaturesEXT: return "PhysicalDeviceLineRasterizationFeaturesEXT";
|
||||
case StructureType::ePipelineRasterizationLineStateCreateInfoEXT: return "PipelineRasterizationLineStateCreateInfoEXT";
|
||||
case StructureType::ePhysicalDeviceLineRasterizationPropertiesEXT: return "PhysicalDeviceLineRasterizationPropertiesEXT";
|
||||
case StructureType::ePhysicalDeviceShaderAtomicFloatFeaturesEXT: return "PhysicalDeviceShaderAtomicFloatFeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceIndexTypeUint8FeaturesEXT: return "PhysicalDeviceIndexTypeUint8FeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceExtendedDynamicStateFeaturesEXT: return "PhysicalDeviceExtendedDynamicStateFeaturesEXT";
|
||||
case StructureType::ePhysicalDevicePipelineExecutablePropertiesFeaturesKHR: return "PhysicalDevicePipelineExecutablePropertiesFeaturesKHR";
|
||||
case StructureType::ePipelineInfoKHR: return "PipelineInfoKHR";
|
||||
@ -4376,6 +4376,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case StructureType::eSamplerBorderColorComponentMappingCreateInfoEXT: return "SamplerBorderColorComponentMappingCreateInfoEXT";
|
||||
case StructureType::ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT: return "PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceShaderCorePropertiesARM: return "PhysicalDeviceShaderCorePropertiesARM";
|
||||
case StructureType::ePhysicalDeviceShaderSubgroupRotateFeaturesKHR: return "PhysicalDeviceShaderSubgroupRotateFeaturesKHR";
|
||||
case StructureType::eDeviceQueueShaderCoreControlCreateInfoARM: return "DeviceQueueShaderCoreControlCreateInfoARM";
|
||||
case StructureType::ePhysicalDeviceSchedulingControlsFeaturesARM: return "PhysicalDeviceSchedulingControlsFeaturesARM";
|
||||
case StructureType::ePhysicalDeviceSchedulingControlsPropertiesARM: return "PhysicalDeviceSchedulingControlsPropertiesARM";
|
||||
@ -4402,6 +4403,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case StructureType::eComputePipelineIndirectBufferInfoNV: return "ComputePipelineIndirectBufferInfoNV";
|
||||
case StructureType::ePipelineIndirectDeviceAddressInfoNV: return "PipelineIndirectDeviceAddressInfoNV";
|
||||
case StructureType::ePhysicalDeviceLinearColorAttachmentFeaturesNV: return "PhysicalDeviceLinearColorAttachmentFeaturesNV";
|
||||
case StructureType::ePhysicalDeviceShaderMaximalReconvergenceFeaturesKHR: return "PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceImageCompressionControlSwapchainFeaturesEXT: return "PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceImageProcessingFeaturesQCOM: return "PhysicalDeviceImageProcessingFeaturesQCOM";
|
||||
case StructureType::ePhysicalDeviceImageProcessingPropertiesQCOM: return "PhysicalDeviceImageProcessingPropertiesQCOM";
|
||||
@ -4494,6 +4496,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesKHR: return "PhysicalDeviceVertexAttributeDivisorPropertiesKHR";
|
||||
case StructureType::ePipelineVertexInputDivisorStateCreateInfoKHR: return "PipelineVertexInputDivisorStateCreateInfoKHR";
|
||||
case StructureType::ePhysicalDeviceVertexAttributeDivisorFeaturesKHR: return "PhysicalDeviceVertexAttributeDivisorFeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceShaderFloatControls2FeaturesKHR: return "PhysicalDeviceShaderFloatControls2FeaturesKHR";
|
||||
#if defined( VK_USE_PLATFORM_SCREEN_QNX )
|
||||
case StructureType::eScreenBufferPropertiesQNX: return "ScreenBufferPropertiesQNX";
|
||||
case StructureType::eScreenBufferFormatPropertiesQNX: return "ScreenBufferFormatPropertiesQNX";
|
||||
@ -4502,7 +4505,12 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case StructureType::ePhysicalDeviceExternalMemoryScreenBufferFeaturesQNX: return "PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX";
|
||||
#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
||||
case StructureType::ePhysicalDeviceLayeredDriverPropertiesMSFT: return "PhysicalDeviceLayeredDriverPropertiesMSFT";
|
||||
case StructureType::ePhysicalDeviceIndexTypeUint8FeaturesKHR: return "PhysicalDeviceIndexTypeUint8FeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceLineRasterizationFeaturesKHR: return "PhysicalDeviceLineRasterizationFeaturesKHR";
|
||||
case StructureType::ePipelineRasterizationLineStateCreateInfoKHR: return "PipelineRasterizationLineStateCreateInfoKHR";
|
||||
case StructureType::ePhysicalDeviceLineRasterizationPropertiesKHR: return "PhysicalDeviceLineRasterizationPropertiesKHR";
|
||||
case StructureType::eCalibratedTimestampInfoKHR: return "CalibratedTimestampInfoKHR";
|
||||
case StructureType::ePhysicalDeviceShaderExpectAssumeFeaturesKHR: return "PhysicalDeviceShaderExpectAssumeFeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceMaintenance6FeaturesKHR: return "PhysicalDeviceMaintenance6FeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceMaintenance6PropertiesKHR: return "PhysicalDeviceMaintenance6PropertiesKHR";
|
||||
case StructureType::eBindMemoryStatusKHR: return "BindMemoryStatusKHR";
|
||||
@ -5359,6 +5367,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case ImageLayout::eSharedPresentKHR: return "SharedPresentKHR";
|
||||
case ImageLayout::eFragmentDensityMapOptimalEXT: return "FragmentDensityMapOptimalEXT";
|
||||
case ImageLayout::eFragmentShadingRateAttachmentOptimalKHR: return "FragmentShadingRateAttachmentOptimalKHR";
|
||||
case ImageLayout::eRenderingLocalReadKHR: return "RenderingLocalReadKHR";
|
||||
case ImageLayout::eVideoEncodeDstKHR: return "VideoEncodeDstKHR";
|
||||
case ImageLayout::eVideoEncodeSrcKHR: return "VideoEncodeSrcKHR";
|
||||
case ImageLayout::eVideoEncodeDpbKHR: return "VideoEncodeDpbKHR";
|
||||
@ -5587,12 +5596,10 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case DynamicState::eExclusiveScissorEnableNV: return "ExclusiveScissorEnableNV";
|
||||
case DynamicState::eExclusiveScissorNV: return "ExclusiveScissorNV";
|
||||
case DynamicState::eFragmentShadingRateKHR: return "FragmentShadingRateKHR";
|
||||
case DynamicState::eLineStippleEXT: return "LineStippleEXT";
|
||||
case DynamicState::eVertexInputEXT: return "VertexInputEXT";
|
||||
case DynamicState::ePatchControlPointsEXT: return "PatchControlPointsEXT";
|
||||
case DynamicState::eLogicOpEXT: return "LogicOpEXT";
|
||||
case DynamicState::eColorWriteEnableEXT: return "ColorWriteEnableEXT";
|
||||
case DynamicState::eTessellationDomainOriginEXT: return "TessellationDomainOriginEXT";
|
||||
case DynamicState::eDepthClampEnableEXT: return "DepthClampEnableEXT";
|
||||
case DynamicState::ePolygonModeEXT: return "PolygonModeEXT";
|
||||
case DynamicState::eRasterizationSamplesEXT: return "RasterizationSamplesEXT";
|
||||
@ -5603,6 +5610,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case DynamicState::eColorBlendEnableEXT: return "ColorBlendEnableEXT";
|
||||
case DynamicState::eColorBlendEquationEXT: return "ColorBlendEquationEXT";
|
||||
case DynamicState::eColorWriteMaskEXT: return "ColorWriteMaskEXT";
|
||||
case DynamicState::eTessellationDomainOriginEXT: return "TessellationDomainOriginEXT";
|
||||
case DynamicState::eRasterizationStreamEXT: return "RasterizationStreamEXT";
|
||||
case DynamicState::eConservativeRasterizationModeEXT: return "ConservativeRasterizationModeEXT";
|
||||
case DynamicState::eExtraPrimitiveOverestimationSizeEXT: return "ExtraPrimitiveOverestimationSizeEXT";
|
||||
@ -5624,6 +5632,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case DynamicState::eRepresentativeFragmentTestEnableNV: return "RepresentativeFragmentTestEnableNV";
|
||||
case DynamicState::eCoverageReductionModeNV: return "CoverageReductionModeNV";
|
||||
case DynamicState::eAttachmentFeedbackLoopEnableEXT: return "AttachmentFeedbackLoopEnableEXT";
|
||||
case DynamicState::eLineStippleKHR: return "LineStippleKHR";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
@ -6033,7 +6042,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case AttachmentLoadOp::eLoad: return "Load";
|
||||
case AttachmentLoadOp::eClear: return "Clear";
|
||||
case AttachmentLoadOp::eDontCare: return "DontCare";
|
||||
case AttachmentLoadOp::eNoneEXT: return "NoneEXT";
|
||||
case AttachmentLoadOp::eNoneKHR: return "NoneKHR";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
@ -6176,7 +6185,7 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
case IndexType::eUint16: return "Uint16";
|
||||
case IndexType::eUint32: return "Uint32";
|
||||
case IndexType::eNoneKHR: return "NoneKHR";
|
||||
case IndexType::eUint8EXT: return "Uint8EXT";
|
||||
case IndexType::eUint8KHR: return "Uint8KHR";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
@ -8061,20 +8070,6 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
return "(void)";
|
||||
}
|
||||
|
||||
//=== VK_EXT_line_rasterization ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( LineRasterizationModeEXT value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case LineRasterizationModeEXT::eDefault: return "Default";
|
||||
case LineRasterizationModeEXT::eRectangular: return "Rectangular";
|
||||
case LineRasterizationModeEXT::eBresenham: return "Bresenham";
|
||||
case LineRasterizationModeEXT::eRectangularSmooth: return "RectangularSmooth";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_KHR_pipeline_executable_properties ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( PipelineExecutableStatisticFormatKHR value )
|
||||
@ -9008,6 +9003,20 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_KHR_line_rasterization ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( LineRasterizationModeKHR value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case LineRasterizationModeKHR::eDefault: return "Default";
|
||||
case LineRasterizationModeKHR::eRectangular: return "Rectangular";
|
||||
case LineRasterizationModeKHR::eBresenham: return "Bresenham";
|
||||
case LineRasterizationModeKHR::eRectangularSmooth: return "RectangularSmooth";
|
||||
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_KHR_calibrated_timestamps ===
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( TimeDomainKHR value )
|
||||
|
4
Makefile
@ -6,7 +6,7 @@
|
||||
# By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2023/11/01 11:03:22 by adjoly #+# #+# #
|
||||
# Updated: 2024/01/26 16:16:13 by adjoly ### ########.fr #
|
||||
# Updated: 2024/01/28 18:22:26 by adjoly ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -17,6 +17,8 @@ CC = cc
|
||||
SRCS = main.c \
|
||||
get_map.c \
|
||||
print_map.c \
|
||||
ft_utils.c \
|
||||
ft_utils2.c \
|
||||
map_error/ft_check_file.c \
|
||||
map_error/ft_check_map_content.c \
|
||||
map_error/ft_check_map_error.c \
|
||||
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
assets/exit.png
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 615 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 5.4 KiB |
BIN
assets/wall.png
Before Width: | Height: | Size: 615 B After Width: | Height: | Size: 2.0 KiB |
72
ft_utils.c
Normal file
@ -0,0 +1,72 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_utils.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/27 15:38:00 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/28 18:12:08 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "so_long.h"
|
||||
|
||||
void ft_freeimg(t_window *win)
|
||||
{
|
||||
mlx_destroy_image(win->mlx, win->img->ground);
|
||||
mlx_destroy_image(win->mlx, win->img->collectible);
|
||||
mlx_destroy_image(win->mlx, win->img->exit);
|
||||
mlx_destroy_image(win->mlx, win->img->player);
|
||||
mlx_destroy_image(win->mlx, win->img->wall);
|
||||
free (win->img);
|
||||
}
|
||||
|
||||
size_t ft_mapsize(char **map)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
i = 0;
|
||||
while (*map && i < SIZE_MAX)
|
||||
{
|
||||
map++;
|
||||
i++;
|
||||
}
|
||||
return (i);
|
||||
}
|
||||
|
||||
void ft_freemap(char **map)
|
||||
{
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (map[i])
|
||||
{
|
||||
free(map[i]);
|
||||
i++;
|
||||
}
|
||||
free(map);
|
||||
}
|
||||
|
||||
int win_close(int event, void *param)
|
||||
{
|
||||
t_window *win;
|
||||
|
||||
win = (t_window *)param;
|
||||
if (event == 0)
|
||||
ft_exit(win);
|
||||
return (0);
|
||||
}
|
||||
|
||||
void ft_exit(t_window *win)
|
||||
{
|
||||
ft_freeimg(win);
|
||||
mlx_destroy_window(win->mlx, win->win);
|
||||
mlx_loop_end(win->mlx);
|
||||
mlx_destroy_display(win->mlx);
|
||||
ft_freemap(win->map);
|
||||
free(win->p_coords);
|
||||
free(win->e_coords);
|
||||
free(win);
|
||||
exit (EXIT_SUCCESS);
|
||||
}
|
34
ft_utils2.c
Normal file
@ -0,0 +1,34 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_utils2.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/28 18:21:23 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/28 18:24:09 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "so_long.h"
|
||||
|
||||
void ft_clear_alloc(t_window *win, char **map)
|
||||
{
|
||||
if (win->p_coords)
|
||||
free(win->p_coords);
|
||||
if (win->e_coords)
|
||||
free(win->e_coords);
|
||||
if (win->img)
|
||||
free(win->img);
|
||||
if (win)
|
||||
free(win);
|
||||
ft_freemap(map);
|
||||
ft_putstr_fd("Memory allocation failed\n", STDOUT_FILENO);
|
||||
exit (EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
void ft_destroy_display(t_window *win, char **map)
|
||||
{
|
||||
mlx_destroy_display(win->mlx);
|
||||
ft_clear_alloc(win, map);
|
||||
}
|
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/08 13:13:18 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/23 11:45:20 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/27 15:45:48 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -58,7 +58,7 @@ char **ft_getmap(int fd, char **map_read, char *buf, char *tmp)
|
||||
return (map_read);
|
||||
}
|
||||
|
||||
char **ft_read_map(char *file_name, char **map_read)
|
||||
char **ft_read_map(char *file_name, char **map_read)
|
||||
{
|
||||
int fd;
|
||||
char *tmp;
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/22 13:40:26 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/28 15:51:19 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
143
main.c
@ -6,76 +6,62 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/06 16:18:56 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/24 12:17:09 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/28 18:23:45 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "MacroLibX/includes/mlx.h"
|
||||
#include "printf/ft_printf.h"
|
||||
#include "so_long.h"
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void ft_freeimg(t_window *win)
|
||||
{
|
||||
mlx_destroy_image(win->mlx, win->img->collectible);
|
||||
mlx_destroy_image(win->mlx, win->img->exit);
|
||||
mlx_destroy_image(win->mlx, win->img->ground);
|
||||
mlx_destroy_image(win->mlx, win->img->player);
|
||||
mlx_destroy_image(win->mlx, win->img->wall);
|
||||
free (win->img);
|
||||
}
|
||||
|
||||
size_t ft_mapsize(char **map)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
i = 0;
|
||||
while (*map && i < SIZE_MAX)
|
||||
{
|
||||
map++;
|
||||
i++;
|
||||
}
|
||||
return (i);
|
||||
}
|
||||
|
||||
void ft_freemap(char **map)
|
||||
{
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (map[i])
|
||||
{
|
||||
free(map[i]);
|
||||
i++;
|
||||
}
|
||||
free(map);
|
||||
}
|
||||
|
||||
int win_close(int event, void *param)
|
||||
t_window *ft_init_window(char **map)
|
||||
{
|
||||
t_window *win;
|
||||
|
||||
win = (t_window *)param;
|
||||
if (event == 0)
|
||||
ft_exit(win);
|
||||
return (0);
|
||||
win = malloc(sizeof(map) + sizeof(t_window));
|
||||
if (!win)
|
||||
ft_clear_alloc(win, map);
|
||||
win->p_coords = malloc(sizeof(t_coords));
|
||||
if (!win->p_coords)
|
||||
ft_clear_alloc(win, map);
|
||||
win->e_coords = malloc(sizeof(t_coords));
|
||||
if (!win->e_coords)
|
||||
ft_clear_alloc(win, map);
|
||||
win->img = malloc(sizeof(t_img));
|
||||
if (!win->img)
|
||||
ft_clear_alloc(win, map);
|
||||
win->mlx = mlx_init();
|
||||
if (!win->mlx)
|
||||
ft_clear_alloc(win, map);
|
||||
return (win);
|
||||
}
|
||||
|
||||
void ft_exit(t_window *win)
|
||||
char **ft_map_setup(char **map, char **av)
|
||||
{
|
||||
ft_freeimg(win);
|
||||
mlx_destroy_window(win->mlx, win->win);
|
||||
mlx_loop_end(win->mlx);
|
||||
mlx_destroy_display(win->mlx);
|
||||
ft_freemap(win->map);
|
||||
free(win->p_coords);
|
||||
free(win->e_coords);
|
||||
free(win);
|
||||
exit (EXIT_SUCCESS);
|
||||
map = ft_read_map(av[1], map);
|
||||
if (!map)
|
||||
exit(EXIT_SUCCESS);
|
||||
if (!map[0])
|
||||
ft_send_error("Map is empty\n", map);
|
||||
ft_check_map_error(map);
|
||||
ft_freemap(map);
|
||||
map = ft_read_map(av[1], map);
|
||||
if (!map)
|
||||
ft_send_error("Memory allocation failed\n", map);
|
||||
return (map);
|
||||
}
|
||||
|
||||
void ft_play(t_window *win)
|
||||
{
|
||||
win->mov_count = 0;
|
||||
mlx_on_event(win->mlx, win->win, MLX_WINDOW_EVENT, win_close, win);
|
||||
mlx_on_event(win->mlx, win->win, MLX_KEYDOWN, ft_key_event, win);
|
||||
ft_alloc_img(win);
|
||||
ft_printmap(win->map, win);
|
||||
mlx_loop(win->mlx);
|
||||
ft_exit(win);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
t_window *win;
|
||||
@ -90,43 +76,16 @@ int main(int ac, char **av)
|
||||
ft_send_error("Invalid map file extension (not .ber)\n", map);
|
||||
if (ft_check_file(av[1]) == 1)
|
||||
ft_send_error("File cannot be opened or doesn't exist\n", map);
|
||||
map = ft_read_map(av[1], map);
|
||||
if (!map)
|
||||
exit(EXIT_SUCCESS);
|
||||
if (!map[0])
|
||||
ft_send_error("Map is empty\n", map);
|
||||
ft_check_map_error(map);
|
||||
ft_freemap(map);
|
||||
map = ft_read_map(av[1], map);
|
||||
if (!map)
|
||||
exit(EXIT_SUCCESS);
|
||||
if (ft_checknl(av[1]) == 1)
|
||||
ft_send_error("File containt empty line\n", map);
|
||||
map = ft_map_setup(map, av);
|
||||
map_size.x = ft_strlen(map[0]);
|
||||
map_size.y = ft_mapsize(map);
|
||||
win = malloc(sizeof(map) + sizeof(t_window));
|
||||
if (!win)
|
||||
{
|
||||
ft_freemap(map);
|
||||
return (0);
|
||||
}
|
||||
// protect all three
|
||||
win->p_coords = malloc(sizeof(t_coords));
|
||||
win->e_coords = malloc(sizeof(t_coords));
|
||||
win->img = malloc(sizeof(t_img));
|
||||
win->mlx = mlx_init();
|
||||
if (!win->mlx)
|
||||
// free map img win;
|
||||
return (0);
|
||||
win->win = mlx_new_window(win->mlx, map_size.x * T_SIZE, map_size.y * T_SIZE, "so_fluffy");
|
||||
win = ft_init_window(map);
|
||||
win->win = mlx_new_window(win->mlx,
|
||||
map_size.x * T_SIZE, map_size.y * T_SIZE, "so_fluffy");
|
||||
if (!win->win)
|
||||
// free map img win ; destroy mlx
|
||||
return (0);
|
||||
ft_destroy_display(win, map);
|
||||
win->map = map;
|
||||
win->mov_count = 0;
|
||||
mlx_on_event(win->mlx, win->win, MLX_WINDOW_EVENT, win_close, win);
|
||||
mlx_on_event(win->mlx, win->win, MLX_KEYDOWN, ft_key_event, win);
|
||||
ft_alloc_img(win);
|
||||
ft_printmap(win->map, win);
|
||||
mlx_loop(win->mlx);
|
||||
ft_exit(win);
|
||||
return (0);
|
||||
ft_play(win);
|
||||
}
|
||||
|
14
map.ber
@ -1,14 +0,0 @@
|
||||
1111111111111
|
||||
1CC1CCCCCC1C1
|
||||
1CCPC1CC111C1
|
||||
1CCC11CCCCCC1
|
||||
1CC1CCCCCC1E1
|
||||
1CCCC1CC111C1
|
||||
1CC1CCCCCC1C1
|
||||
1CCCC1CC111C1
|
||||
1CCC11CCCCCC1
|
||||
1CCC11CCCCCC1
|
||||
1CC1CCCCCC111
|
||||
1CCCC1CC111C1
|
||||
1CCC11CCCCCC1
|
||||
1111111111111
|
@ -1,8 +0,0 @@
|
||||
1111111111111
|
||||
100100000C1E1
|
||||
100P010011101
|
||||
10C0110000001
|
||||
100100000C1E1
|
||||
100P010011101
|
||||
10C0110000001
|
||||
1111111111111
|
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/26 14:29:02 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 16:10:23 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/28 18:22:49 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -45,3 +45,46 @@ char ft_is_empty(char **map)
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
void ft_read_file_to_end(int fd)
|
||||
{
|
||||
char *gnl;
|
||||
size_t i;
|
||||
|
||||
i = 0;
|
||||
while (i < SIZE_MAX)
|
||||
{
|
||||
gnl = get_next_line(fd);
|
||||
if (!gnl)
|
||||
return ;
|
||||
free(gnl);
|
||||
}
|
||||
free(gnl);
|
||||
}
|
||||
|
||||
char ft_checknl(char *filename)
|
||||
{
|
||||
int fd;
|
||||
size_t i;
|
||||
char *gnl;
|
||||
|
||||
i = 0;
|
||||
fd = open(filename, O_RDONLY);
|
||||
while (i < SIZE_MAX)
|
||||
{
|
||||
gnl = get_next_line(fd);
|
||||
if (!gnl)
|
||||
break ;
|
||||
if (gnl[0] == '\n')
|
||||
{
|
||||
free(gnl);
|
||||
ft_read_file_to_end(fd);
|
||||
return (1);
|
||||
}
|
||||
free(gnl);
|
||||
i++;
|
||||
}
|
||||
close (fd);
|
||||
free(gnl);
|
||||
return (0);
|
||||
}
|
||||
|
@ -6,20 +6,31 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/26 01:31:27 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 16:10:32 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/27 13:58:18 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../so_long.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
char ft_check_reselement(t_elemcount *count)
|
||||
{
|
||||
if (count->p_count != 1)
|
||||
{
|
||||
free(count);
|
||||
return (1);
|
||||
}
|
||||
else if (count->e_count != 1)
|
||||
{
|
||||
free(count);
|
||||
return (2);
|
||||
}
|
||||
else if (count->c_count < 1)
|
||||
{
|
||||
free(count);
|
||||
return (3);
|
||||
}
|
||||
free(count);
|
||||
return (0);
|
||||
}
|
||||
|
||||
@ -57,23 +68,22 @@ void ft_check_map_content(char **map, t_coords *p_coords)
|
||||
char check_result;
|
||||
t_elemcount *count;
|
||||
|
||||
count = malloc(sizeof(t_elemcount *));
|
||||
count = malloc(sizeof(t_elemcount));
|
||||
if (!count)
|
||||
ft_send_error("Memory allocation failed\n", map);
|
||||
check_result = ft_check_element(map, p_coords, count);
|
||||
if (check_result == 1)
|
||||
{
|
||||
free(count);
|
||||
free(p_coords);
|
||||
ft_send_error("Invalid number of player\n", map);
|
||||
}
|
||||
if (check_result == 2)
|
||||
{
|
||||
free(count);
|
||||
free(p_coords);
|
||||
ft_send_error("Invalid number of exit\n", map);
|
||||
}
|
||||
if (check_result == 3)
|
||||
{
|
||||
free(count);
|
||||
free(p_coords);
|
||||
ft_send_error("Invalid number of collectible\n", map);
|
||||
}
|
||||
|
@ -6,11 +6,13 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/17 10:17:52 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 16:10:46 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/28 15:18:38 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../so_long.h"
|
||||
#include <stddef.h>
|
||||
#include <unistd.h>
|
||||
|
||||
char ft_checkcol(char **map, char c, unsigned short col)
|
||||
{
|
||||
|
7
maps/map.ber
Normal file
@ -0,0 +1,7 @@
|
||||
1111111111111
|
||||
1C01000000101
|
||||
100PC10C11101
|
||||
100C110000001
|
||||
1001C000000E1
|
||||
1000110000001
|
||||
1111111111111
|
@ -6,21 +6,30 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/26 15:50:27 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 17:45:28 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/27 16:50:29 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../so_long.h"
|
||||
|
||||
void ft_move_down2(t_window *win, char c, char nxt)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, c);
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y + 1, win, nxt);
|
||||
ft_printmov(win);
|
||||
}
|
||||
|
||||
void ft_move_down(t_window *win)
|
||||
{
|
||||
if (win->p_coords->y == win->e_coords->y
|
||||
&& win->e_coords->x == win->p_coords->x
|
||||
&& win->map[win->p_coords->y + 1][win->p_coords->x] != '1')
|
||||
ft_move_down2(win, 'E', 'P');
|
||||
else if (win->map[win->p_coords->y + 1][win->p_coords->x] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, 'E');
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y + 1, win, 'P');
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y + 1][win->p_coords->x] == 'C')
|
||||
{
|
||||
@ -30,16 +39,6 @@ void ft_move_down(t_window *win)
|
||||
win->c_count--;
|
||||
ft_printmov(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y + 1][win->p_coords->x] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y + 1][win->p_coords->x] != '1')
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, '0');
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y + 1, win, 'P');
|
||||
ft_printmov(win);
|
||||
}
|
||||
ft_move_down2(win, '0', 'P');
|
||||
}
|
||||
|
@ -6,21 +6,30 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/26 15:50:22 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 17:45:10 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/27 16:50:32 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../so_long.h"
|
||||
|
||||
void ft_move_left2(t_window *win, char c, char nxt)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, c);
|
||||
ft_putimg(win->p_coords->x - 1, win->p_coords->y, win, nxt);
|
||||
ft_printmov(win);
|
||||
}
|
||||
|
||||
void ft_move_left(t_window *win)
|
||||
{
|
||||
if (win->p_coords->y == win->e_coords->y
|
||||
&& win->e_coords->x == win->p_coords->x
|
||||
&& win->map[win->p_coords->y][win->p_coords->x - 1] != '1')
|
||||
ft_move_left2(win, 'E', 'P');
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x - 1] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, 'E');
|
||||
ft_putimg(win->p_coords->x - 1, win->p_coords->y, win, 'P');
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x - 1] == 'C')
|
||||
{
|
||||
@ -30,16 +39,6 @@ void ft_move_left(t_window *win)
|
||||
win->c_count--;
|
||||
ft_printmov(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x - 1] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x - 1] != '1')
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, '0');
|
||||
ft_putimg(win->p_coords->x - 1, win->p_coords->y, win, 'P');
|
||||
ft_printmov(win);
|
||||
}
|
||||
ft_move_left2(win, '0', 'P');
|
||||
}
|
||||
|
@ -6,21 +6,30 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/26 15:50:32 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 17:44:49 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/27 16:50:36 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../so_long.h"
|
||||
|
||||
void ft_move_right2(t_window *win, char c, char nxt)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, c);
|
||||
ft_putimg(win->p_coords->x + 1, win->p_coords->y, win, nxt);
|
||||
ft_printmov(win);
|
||||
}
|
||||
|
||||
void ft_move_right(t_window *win)
|
||||
{
|
||||
if (win->p_coords->y == win->e_coords->y
|
||||
&& win->e_coords->x == win->p_coords->x
|
||||
&& win->map[win->p_coords->y][win->p_coords->x + 1] != '1')
|
||||
ft_move_right2(win, 'E', 'P');
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x + 1] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, 'E');
|
||||
ft_putimg(win->p_coords->x + 1, win->p_coords->y, win, 'P');
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x + 1] == 'C')
|
||||
{
|
||||
@ -30,16 +39,6 @@ void ft_move_right(t_window *win)
|
||||
win->c_count--;
|
||||
ft_printmov(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x + 1] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y][win->p_coords->x + 1] != '1')
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, '0');
|
||||
ft_putimg(win->p_coords->x + 1, win->p_coords->y, win, 'P');
|
||||
ft_printmov(win);
|
||||
}
|
||||
ft_move_right2(win, '0', 'P');
|
||||
}
|
||||
|
@ -6,21 +6,30 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/26 15:50:35 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 17:46:12 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/27 16:50:24 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../so_long.h"
|
||||
|
||||
void ft_move_up2(t_window *win, char c, char nxt)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, c);
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y - 1, win, nxt);
|
||||
ft_printmov(win);
|
||||
}
|
||||
|
||||
void ft_move_up(t_window *win)
|
||||
{
|
||||
if (win->map[win->p_coords->y - 1][win->p_coords->x] == 'C')
|
||||
if (win->p_coords->y == win->e_coords->y
|
||||
&& win->e_coords->x == win->p_coords->x
|
||||
&& win->map[win->p_coords->y - 1][win->p_coords->x] != '1')
|
||||
ft_move_up2(win, 'E', 'P');
|
||||
else if (win->map[win->p_coords->y - 1][win->p_coords->x] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, '0');
|
||||
win->map[win->p_coords->y - 1][win->p_coords->x] = '0';
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y - 1, win, 'P');
|
||||
win->c_count--;
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y - 1][win->p_coords->x] == 'C')
|
||||
{
|
||||
@ -30,16 +39,6 @@ void ft_move_up(t_window *win)
|
||||
win->c_count--;
|
||||
ft_printmov(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y - 1][win->p_coords->x] == 'E'
|
||||
&& win->c_count == 0)
|
||||
{
|
||||
ft_printmov(win);
|
||||
ft_exit(win);
|
||||
}
|
||||
else if (win->map[win->p_coords->y - 1][win->p_coords->x] != '1')
|
||||
{
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y, win, '0');
|
||||
ft_putimg(win->p_coords->x, win->p_coords->y - 1, win, 'P');
|
||||
ft_printmov(win);
|
||||
}
|
||||
ft_move_up2(win, '0', 'P');
|
||||
}
|
||||
|
11
print_map.c
@ -6,11 +6,12 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/09 15:30:06 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/21 14:51:46 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/27 15:43:36 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "so_long.h"
|
||||
#include <limits.h>
|
||||
|
||||
void ft_alloc_img(t_window *win)
|
||||
{
|
||||
@ -27,7 +28,7 @@ void ft_alloc_img(t_window *win)
|
||||
win->img->wall = mlx_png_file_to_image(win->mlx, W_PNG, &img_x, &img_y);
|
||||
}
|
||||
|
||||
void ft_putimg(size_t x, size_t y, t_window *win, char c)
|
||||
void ft_putimg(unsigned short x, unsigned short y, t_window *win, char c)
|
||||
{
|
||||
if (c == 'E')
|
||||
{
|
||||
@ -56,12 +57,12 @@ void ft_putimg(size_t x, size_t y, t_window *win, char c)
|
||||
|
||||
void ft_printmap(char **map, t_window *win)
|
||||
{
|
||||
size_t x;
|
||||
size_t y;
|
||||
unsigned short x;
|
||||
unsigned short y;
|
||||
|
||||
y = 0;
|
||||
win->c_count = 0;
|
||||
while (map[y] != NULL && y < ULONG_MAX)
|
||||
while (map[y] != NULL && y < USHRT_MAX)
|
||||
{
|
||||
x = 0;
|
||||
while (map[y][x])
|
||||
|
30
so_long.h
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/01/06 16:19:42 by adjoly #+# #+# */
|
||||
/* Updated: 2024/01/26 16:15:23 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/01/28 18:24:35 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -22,6 +22,7 @@
|
||||
# include <unistd.h>
|
||||
# include <fcntl.h>
|
||||
# include <stdlib.h>
|
||||
# include <limits.h>
|
||||
|
||||
# define P_PNG "assets/player.png"
|
||||
# define G_PNG "assets/ground.png"
|
||||
@ -64,20 +65,30 @@ typedef struct s_window
|
||||
t_img *img;
|
||||
} t_window;
|
||||
|
||||
int ft_key_event(int key, void *param);
|
||||
// - Main -
|
||||
|
||||
// - Utils -
|
||||
|
||||
void ft_freeimg(t_window *win);
|
||||
size_t ft_mapsize(char **map);
|
||||
void ft_freemap(char **map);
|
||||
int check_wall(char **map, t_coords *player);
|
||||
char **ft_read_map(char *file_name, char **map_read);
|
||||
|
||||
char ft_check_file(char *file_name);
|
||||
int win_close(int event, void *param);
|
||||
int win_close(int event, void *param);
|
||||
void ft_exit(t_window *win);
|
||||
void ft_clear_alloc(t_window *win, char **map);
|
||||
void ft_destroy_display(t_window *win, char **map);
|
||||
|
||||
void ft_printmap(char **map, t_window *win);
|
||||
void ft_putimg(size_t x, size_t y, t_window *win, char c);
|
||||
// - Get Map -
|
||||
|
||||
size_t ft_filesize(char *file_name);
|
||||
char **ft_getmap(int fd, char **map_read, char *buf, char *tmp);
|
||||
char **ft_read_map(char *file_name, char **map_read);
|
||||
|
||||
// - Print Map -
|
||||
|
||||
void ft_alloc_img(t_window *win);
|
||||
size_t ft_mapsize(char **map);
|
||||
void ft_putimg(unsigned short x, unsigned short y, t_window *win, char c);
|
||||
void ft_printmap(char **map, t_window *win);
|
||||
|
||||
// - Move Character -
|
||||
|
||||
@ -103,6 +114,7 @@ void ft_move_right(t_window *win);
|
||||
char ft_check_file(char *file_name);
|
||||
char ft_valid_file_ext(char *file_name);
|
||||
char ft_is_empty(char **map);
|
||||
char ft_checknl(char *filename);
|
||||
|
||||
//check map content
|
||||
char ft_check_reselement(t_elemcount *count);
|
||||
|