Skip to content

Commit

Permalink
alloc-rewrite
Browse files Browse the repository at this point in the history
  • Loading branch information
ColleagueRiley committed Jan 5, 2025
1 parent 3ca6614 commit 8ef8784
Show file tree
Hide file tree
Showing 15 changed files with 279 additions and 238 deletions.
2 changes: 0 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,6 @@ else ifneq ($(CC),g++)
LIBS += -std=c99
endif

LIBS += -lOSMesa

EXAMPLE_OUTPUTS = \
examples/basic/basic \
examples/gamepad/gamepad \
Expand Down
455 changes: 249 additions & 206 deletions RGFW.h

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion examples/basic/basic.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ RGFW_window* win2;

int main(void) {
RGFW_setClassName("RGFW Basic");
RGFW_window* win = RGFW_createWindow("RGFW Example Window", RGFW_RECT(500, 500, 500, 500), RGFW_ALLOW_DND | RGFW_CENTER);
RGFW_window* win = RGFW_createWindow("RGFW Example Window", RGFW_RECT(500, 500, 500, 500), RGFW_allowDND | RGFW_center);
RGFW_window_makeCurrent(win);

RGFW_window_setIcon(win, icon, RGFW_AREA(3, 3), 4);
Expand Down
2 changes: 1 addition & 1 deletion examples/buffer/buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ void drawRect(RGFW_window* win, RGFW_rect r, u8 color[4]) {
}

int main(void) {
RGFW_window* win = RGFW_createWindow("Basic buffer example", RGFW_RECT(0, 0, 500, 500), RGFW_CENTER | RGFW_TRANSPARENT_WINDOW);
RGFW_window* win = RGFW_createWindow("Basic buffer example", RGFW_RECT(0, 0, 500, 500), RGFW_center| RGFW_transparent);

screenSize = RGFW_getScreenSize();

Expand Down
2 changes: 1 addition & 1 deletion examples/callbacks/callbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ void mousebuttonfunc(RGFW_window* win, u8 button, double scroll, u8 pressed) {


int main(void) {
window = RGFW_createWindow("RGFW Callbacks", RGFW_RECT(500, 500, 500, 500), (u64)RGFW_CENTER | RGFW_ALLOW_DND);
window = RGFW_createWindow("RGFW Callbacks", RGFW_RECT(500, 500, 500, 500), RGFW_center | RGFW_allowDND);

RGFW_setWindowMoveCallback(windowmovefunc);
RGFW_setWindowResizeCallback(windowresizefunc);
Expand Down
2 changes: 1 addition & 1 deletion examples/events/events.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "RGFW.h"

int main(void) {
RGFW_window* win = RGFW_createWindow("RGFW Events", RGFW_RECT(500, 500, 500, 500), (u64)RGFW_CENTER | RGFW_ALLOW_DND | RGFW_TRANSPARENT_WINDOW);
RGFW_window* win = RGFW_createWindow("RGFW Events", RGFW_RECT(500, 500, 500, 500), RGFW_center | RGFW_allowDND | RGFW_transparent);

while (RGFW_window_shouldClose(win) == 0) {
glClearColor(0.25, 0, 0.15, 0.25);
Expand Down
2 changes: 1 addition & 1 deletion examples/first-person-camera/camera.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ RGFWDEF void update_camera(void);
RGFWDEF void glPerspective(double fovY, double aspect, double zNear, double zFar);

int main(void) {
RGFW_window* win = RGFW_createWindow("First person camera", RGFW_RECT(0, 0, 800, 450), RGFW_CENTER | RGFW_NO_RESIZE );
RGFW_window* win = RGFW_createWindow("First person camera", RGFW_RECT(0, 0, 800, 450), RGFW_center | RGFW_noResize );

RGFW_window_showMouse(win, 0);
glEnable(GL_DEPTH_TEST);
Expand Down
2 changes: 1 addition & 1 deletion examples/gamepad/gamepad.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
void drawGamepad(RGFW_window* w, size_t gamepad);

int main(void) {
RGFW_window* win = RGFW_createWindow("RGFW Example Window", RGFW_RECT(0, 0, 800, 450), RGFW_CENTER);
RGFW_window* win = RGFW_createWindow("RGFW Example Window", RGFW_RECT(0, 0, 800, 450), RGFW_center);
RGFW_window_makeCurrent(win);

size_t gamepad = 0;
Expand Down
2 changes: 1 addition & 1 deletion examples/gl33/gl33.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ int main(void)
{
RGFW_setGLVersion(RGFW_glCore, 3, 3);

RGFW_window* window = RGFW_createWindow("LearnOpenGL", RGFW_RECT(SCR_WIDTH, SCR_HEIGHT, SCR_WIDTH, SCR_HEIGHT), RGFW_ALLOW_DND | RGFW_CENTER | RGFW_SCALE_TO_MONITOR);
RGFW_window* window = RGFW_createWindow("LearnOpenGL", RGFW_RECT(SCR_WIDTH, SCR_HEIGHT, SCR_WIDTH, SCR_HEIGHT), RGFW_allowDND | RGFW_center | RGFW_scaleToMonitor);
if (window == NULL)
{
printf("Failed to create RGFW window\n");
Expand Down
2 changes: 1 addition & 1 deletion examples/gles2/gles2.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ GLuint load_shader(const char *shaderSource, GLenum type) {
}

int main(void) {
RGFW_window* win = RGFW_createWindow("name", RGFW_RECT(0, 0, 500, 500), RGFW_CENTER);
RGFW_window* win = RGFW_createWindow("name", RGFW_RECT(0, 0, 500, 500), RGFW_center);

/////// the openGL part ///////////////////////////////////////////////////////////////

Expand Down
2 changes: 1 addition & 1 deletion examples/microui_demo/microui_demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ static int text_height(mu_Font font) {
int main(int argc, char **argv) {
RGFW_UNUSED(argc); RGFW_UNUSED(argv);
/* init RGFW window */
RGFW_window* window = RGFW_createWindow("", RGFW_RECT(0, 0, width, height), RGFW_CENTER | RGFW_SCALE_TO_MONITOR);
RGFW_window* window = RGFW_createWindow("", RGFW_RECT(0, 0, width, height), RGFW_center | RGFW_scaleToMonitor);
r_init();

/* init microui */
Expand Down
2 changes: 1 addition & 1 deletion examples/portableGL/pgl.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ int main() {
RGFW_area area = RGFW_AREA(500, 500);
RGFW_setBufferSize(area);

RGFW_window* win = RGFW_createWindow("name", RGFW_RECT(500, 500, 500, 500), (u64)RGFW_CENTER | RGFW_NO_RESIZE);
RGFW_window* win = RGFW_createWindow("name", RGFW_RECT(500, 500, 500, 500), (u64)RGFW_center | RGFW_noResize);

glContext context;
init_glContext(&context, (u32**)&win->buffer, area.w, 500, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF);
Expand Down
2 changes: 1 addition & 1 deletion examples/silk/silk.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ typedef int64_t i64;

int main(void) {
RGFW_setBufferSize(RGFW_AREA(500, 500));
RGFW_window* win = RGFW_createWindow("Basic buffer example", RGFW_RECT(0, 0, 500, 500), RGFW_CENTER | RGFW_TRANSPARENT_WINDOW | RGFW_NO_RESIZE);
RGFW_window* win = RGFW_createWindow("Basic buffer example", RGFW_RECT(0, 0, 500, 500), RGFW_center | RGFW_transparent | RGFW_noResize);

u32 angle = 0;

Expand Down
36 changes: 18 additions & 18 deletions examples/vk10/RGFW_vulkan.h
Original file line number Diff line number Diff line change
Expand Up @@ -183,14 +183,14 @@ int RGFW_deviceInitialization(RGFW_window* win, RGFW_window_vulkanInfo* vulkWin)

u32 deviceCount = 0;
vkEnumeratePhysicalDevices(RGFW_vulkan_info.instance, &deviceCount, NULL);
VkPhysicalDevice* devices = (VkPhysicalDevice*) RGFW_MALLOC(sizeof(VkPhysicalDevice) * deviceCount);
VkPhysicalDevice* devices = (VkPhysicalDevice*) RGFW_alloc(sizeof(VkPhysicalDevice) * deviceCount);
vkEnumeratePhysicalDevices(RGFW_vulkan_info.instance, &deviceCount, devices);

RGFW_vulkan_info.physical_device = devices[0];

u32 queue_family_count = 0;
vkGetPhysicalDeviceQueueFamilyProperties(RGFW_vulkan_info.physical_device, &queue_family_count, NULL);
VkQueueFamilyProperties* queueFamilies = (VkQueueFamilyProperties*) RGFW_MALLOC(sizeof(VkQueueFamilyProperties) * queue_family_count);
VkQueueFamilyProperties* queueFamilies = (VkQueueFamilyProperties*) RGFW_alloc(sizeof(VkQueueFamilyProperties) * queue_family_count);
vkGetPhysicalDeviceQueueFamilyProperties(RGFW_vulkan_info.physical_device, &queue_family_count, queueFamilies);

float queuePriority = 1.0f;
Expand Down Expand Up @@ -267,10 +267,10 @@ int RGFW_createSwapchain(RGFW_window* win, RGFW_window_vulkanInfo* vulkWin) {

u32 imageCount;
vkGetSwapchainImagesKHR(RGFW_vulkan_info.device, vulkWin->swapchain, &imageCount, NULL);
vulkWin->swapchain_images = (VkImage*) RGFW_MALLOC(sizeof(VkImage) * imageCount);
vulkWin->swapchain_images = (VkImage*) RGFW_alloc(sizeof(VkImage) * imageCount);
vkGetSwapchainImagesKHR(RGFW_vulkan_info.device, vulkWin->swapchain, &imageCount, vulkWin->swapchain_images);

vulkWin->swapchain_image_views = (VkImageView*) RGFW_MALLOC(sizeof(VkImageView) * imageCount);
vulkWin->swapchain_image_views = (VkImageView*) RGFW_alloc(sizeof(VkImageView) * imageCount);
for (u32 i = 0; i < imageCount; i++) {
VkImageViewCreateInfo image_view_cre_infos = { 0 };
image_view_cre_infos.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
Expand Down Expand Up @@ -354,7 +354,7 @@ int RGFW_createCommandPool(void) {
int RGFW_createCommandBuffers(RGFW_window_vulkanInfo* vulkWin) {
assert(vulkWin != NULL);

RGFW_vulkan_info.command_buffers = (VkCommandBuffer*) RGFW_MALLOC(sizeof(VkCommandBuffer) * vulkWin->image_count);
RGFW_vulkan_info.command_buffers = (VkCommandBuffer*) RGFW_alloc(sizeof(VkCommandBuffer) * vulkWin->image_count);

VkCommandBufferAllocateInfo allocInfo = { 0 };
allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
Expand All @@ -372,10 +372,10 @@ int RGFW_createCommandBuffers(RGFW_window_vulkanInfo* vulkWin) {
int RGFW_createSyncObjects(RGFW_window_vulkanInfo* vulkWin) {
assert(vulkWin != NULL);

RGFW_vulkan_info.available_semaphores = (VkSemaphore*) RGFW_MALLOC(sizeof(VkSemaphore) * RGFW_MAX_FRAMES_IN_FLIGHT);
RGFW_vulkan_info.finished_semaphore = (VkSemaphore*) RGFW_MALLOC(sizeof(VkSemaphore) * RGFW_MAX_FRAMES_IN_FLIGHT);
RGFW_vulkan_info.in_flight_fences = (VkFence*) RGFW_MALLOC(sizeof(VkFence) * RGFW_MAX_FRAMES_IN_FLIGHT);
RGFW_vulkan_info.image_in_flight = (VkFence*) RGFW_MALLOC(sizeof(VkFence) * vulkWin->image_count);
RGFW_vulkan_info.available_semaphores = (VkSemaphore*) RGFW_alloc(sizeof(VkSemaphore) * RGFW_MAX_FRAMES_IN_FLIGHT);
RGFW_vulkan_info.finished_semaphore = (VkSemaphore*) RGFW_alloc(sizeof(VkSemaphore) * RGFW_MAX_FRAMES_IN_FLIGHT);
RGFW_vulkan_info.in_flight_fences = (VkFence*) RGFW_alloc(sizeof(VkFence) * RGFW_MAX_FRAMES_IN_FLIGHT);
RGFW_vulkan_info.image_in_flight = (VkFence*) RGFW_alloc(sizeof(VkFence) * vulkWin->image_count);

VkSemaphoreCreateInfo semaphore_info = { 0 };
semaphore_info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
Expand Down Expand Up @@ -403,7 +403,7 @@ int RGFW_createSyncObjects(RGFW_window_vulkanInfo* vulkWin) {
int RGFW_createFramebuffers(RGFW_window* win, RGFW_window_vulkanInfo* vulkWin) {
assert(vulkWin != NULL);

RGFW_vulkan_info.framebuffers = (VkFramebuffer*) RGFW_MALLOC(sizeof(VkFramebuffer) * vulkWin->image_count);
RGFW_vulkan_info.framebuffers = (VkFramebuffer*) RGFW_alloc(sizeof(VkFramebuffer) * vulkWin->image_count);

for (size_t i = 0; i < vulkWin->image_count; i++) {
VkImageView attachments[] = { vulkWin->swapchain_image_views[i] };
Expand Down Expand Up @@ -435,8 +435,8 @@ void RGFW_freeVulkan(RGFW_window_vulkanInfo* vulkWin) {

vkDestroySwapchainKHR(RGFW_vulkan_info.device, vulkWin->swapchain, NULL);
vkDestroySurfaceKHR(RGFW_vulkan_info.instance, vulkWin->rSurf, NULL);
RGFW_FREE(vulkWin->swapchain_image_views);
RGFW_FREE(vulkWin->swapchain_images);
RGFW_free(vulkWin->swapchain_image_views);
RGFW_free(vulkWin->swapchain_images);

vkDeviceWaitIdle(RGFW_vulkan_info.device);

Expand All @@ -462,12 +462,12 @@ void RGFW_freeVulkan(RGFW_window_vulkanInfo* vulkWin) {
vkDestroyDevice(RGFW_vulkan_info.device, NULL);
vkDestroyInstance(RGFW_vulkan_info.instance, NULL);

RGFW_FREE(RGFW_vulkan_info.framebuffers);
RGFW_FREE(RGFW_vulkan_info.command_buffers);
RGFW_FREE(RGFW_vulkan_info.available_semaphores);
RGFW_FREE(RGFW_vulkan_info.finished_semaphore);
RGFW_FREE(RGFW_vulkan_info.in_flight_fences);
RGFW_FREE(RGFW_vulkan_info.image_in_flight);
RGFW_free(RGFW_vulkan_info.framebuffers);
RGFW_free(RGFW_vulkan_info.command_buffers);
RGFW_free(RGFW_vulkan_info.available_semaphores);
RGFW_free(RGFW_vulkan_info.finished_semaphore);
RGFW_free(RGFW_vulkan_info.in_flight_fences);
RGFW_free(RGFW_vulkan_info.image_in_flight);
}

VkShaderModule RGFW_createShaderModule(const u32* code, size_t code_size) {
Expand Down
2 changes: 1 addition & 1 deletion examples/vk10/vk10.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ int draw_frame(RGFW_window_vulkanInfo* vulkWin);


int main(void) {
RGFW_window* win = RGFW_createWindow("Vulkan Example", RGFW_RECT(0, 0, 500, 500), RGFW_ALLOW_DND | RGFW_CENTER);;
RGFW_window* win = RGFW_createWindow("Vulkan Example", RGFW_RECT(0, 0, 500, 500), RGFW_allowDND | RGFW_center);;
RGFW_window_vulkanInfo vulkWin;

vulkan_info = RGFW_initVulkan(win, &vulkWin);
Expand Down

0 comments on commit 8ef8784

Please sign in to comment.