WIP Samples
Test Compilation / Build evk (push) Failing after 21s

This commit is contained in:
2026-05-07 03:03:35 +03:00
parent 3d37d30478
commit 3d2e518fd7
8 changed files with 39 additions and 15 deletions
+6 -1
View File
@@ -37,7 +37,7 @@ void evkDestroyPipelineLayout(evkDevice device, evkPipelineLayout layout)
evkPipeline evkCreateComputePipeline(evkDevice device, evkPipelineCreateInfo createInfo) evkPipeline evkCreateComputePipeline(evkDevice device, evkPipelineCreateInfo createInfo)
{ {
// return EV_INVALID(evkPipeline);
} }
evkPipeline evkCreateGraphicsPipeline(evkDevice device, evkPipelineCreateInfo createInfo) evkPipeline evkCreateGraphicsPipeline(evkDevice device, evkPipelineCreateInfo createInfo)
@@ -239,3 +239,8 @@ void evkCmdBindPipeline(evkCommandBuffer* cmdbuf, evkPipeline* pipeline)
cmdbuf->boundPipeline = pipeline; cmdbuf->boundPipeline = pipeline;
vkCmdBindPipeline(cmdbuf->vk, (VkPipelineBindPoint)pipeline->type, pipeline->vk); vkCmdBindPipeline(cmdbuf->vk, (VkPipelineBindPoint)pipeline->type, pipeline->vk);
} }
void evkCmdImageBarrier(evkCommandBuffer* cmdbuf, VkImageMemoryBarrier barrier)
{
vkCmdPipelineBarrier(cmdbuf->vk, 0, 0, 0, 0, NULL, 0, NULL, 1, &barrier);
}
+2
View File
@@ -10,3 +10,5 @@ evkPipeline evkCreatePipeline(evkDevice device, evkPipelineCreateInfo createInfo
void evkDestroyPipeline(evkPipeline pipeline); void evkDestroyPipeline(evkPipeline pipeline);
void evkCmdBindPipeline(evkCommandBuffer* cmdbuf, evkPipeline* pipeline); void evkCmdBindPipeline(evkCommandBuffer* cmdbuf, evkPipeline* pipeline);
void evkCmdImageBarrier(evkCommandBuffer* cmdbuf, VkImageMemoryBarrier barrier);
+12 -6
View File
@@ -42,13 +42,11 @@ foreach w : disabled_warnings[cc.get_id()]
evk_c_args += '-Wno-'+w evk_c_args += '-Wno-'+w
endforeach endforeach
evk_incdir = [ evk_incdir = include_directories([
'.', '.',
] ])
evk_src = [ evk_src = [
'main.c',
'evk/evkInstance.c', 'evk/evkInstance.c',
'evk/evkDevice.c', 'evk/evkDevice.c',
'evk/evkAllocator.c', 'evk/evkAllocator.c',
@@ -65,10 +63,11 @@ evk_src = [
'evk/evkMemory.c', 'evk/evkMemory.c',
] ]
executable(
evk_lib = library(
'evk', 'evk',
evk_src, evk_src,
include_directories: include_directories(evk_incdir), include_directories: evk_incdir,
dependencies: [ dependencies: [
dependency('evol-headers'), dependency('evol-headers'),
@@ -82,3 +81,10 @@ executable(
], ],
c_args: evk_c_args, c_args: evk_c_args,
) )
evk_dep = declare_dependency(link_with: evk_lib, include_directories: evk_incdir)
meson.override_dependency('evk', evk_dep)
# if build_samples
subdir('samples')
# endif
@@ -6,12 +6,12 @@
#define GLFW_INCLUDE_NONE #define GLFW_INCLUDE_NONE
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
evstring PROJECT_NAME = evstr("evk"); evstring PROJECT_NAME = evstr("basic_triangle");
int main(void) int main(void)
{ {
u32 width = 1024; u32 width = 1280;
u32 height = 1024; u32 height = 800;
evkInstance instance = evkCreateInstance((evkInstanceCreateInfo){ evkInstance instance = evkCreateInstance((evkInstanceCreateInfo){
.applicationInfo = EV_DEFAULT(evkApplicationInfo), .applicationInfo = EV_DEFAULT(evkApplicationInfo),
@@ -74,7 +74,7 @@ int main(void)
} }
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
GLFWwindow* window = glfwCreateWindow(1024,1024, "evk", NULL, NULL); GLFWwindow* window = glfwCreateWindow(width, height, "evk", NULL, NULL);
if(!window) if(!window)
{ {
ev_log_error("Window Creation Failed."); ev_log_error("Window Creation Failed.");
@@ -246,6 +246,12 @@ int main(void)
evkBeginPrimaryCommandBuffer(&cmdbuf); evkBeginPrimaryCommandBuffer(&cmdbuf);
{ {
evkCmdImageBarrier(&cmdbuf, EV_DEFAULT(VkImageMemoryBarrier,
image = swapChain.images[swapChainImageIdx].vk,
newLayout = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR,
subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT
));
VkDeviceSize offset = 0; VkDeviceSize offset = 0;
vkCmdBindVertexBuffers(cmdbuf.vk, 0, 1, &vertBuf.vk, &offset); vkCmdBindVertexBuffers(cmdbuf.vk, 0, 1, &vertBuf.vk, &offset);
@@ -261,13 +267,11 @@ int main(void)
vkCmdEndRenderingKHR(cmdbuf.vk); vkCmdEndRenderingKHR(cmdbuf.vk);
VkImageMemoryBarrier imageMemoryBarrier = EV_DEFAULT(VkImageMemoryBarrier, evkCmdImageBarrier(&cmdbuf, EV_DEFAULT(VkImageMemoryBarrier,
image = swapChain.images[swapChainImageIdx].vk, image = swapChain.images[swapChainImageIdx].vk,
newLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, newLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,
subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT
); ));
vkCmdPipelineBarrier(cmdbuf.vk, 0, 0, 0, 0, NULL, 0, NULL, 1, &imageMemoryBarrier);
} }
evkEndCommandBuffer(&cmdbuf); evkEndCommandBuffer(&cmdbuf);
+6
View File
@@ -0,0 +1,6 @@
executable(
'basic_triangle',
'basic_triangle.c',
dependencies: [dependency('evk')],
)
+1
View File
@@ -0,0 +1 @@
subdir('basic_triangle')