How to get Vulkan context from X11 window in C? [closed] - c

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm trying to create a Vulkan application in Linux. How can I obtain a Vulkan context from a raw X11 window, no Qt or GTK involved.
Thanks :)

If you already got your X11 window you need to define VK_USE_PLATFORM_XLIB_KHR and create a Vulkan compatible surface from it using vkCreateXlibSurfaceKHR, or if you want to use XCB you'd use vkCreateXcbSurfaceKHR and define VK_USE_PLATFORM_XCB_KHR.
Also note that you need to provide the proper surface extension at instance creation time. Either VK_KHR_XLIB_SURFACE_EXTENSION_NAME or VK_KHR_XCB_SURFACE_EXTENSION_NAME.
You then provide that surface at swapchain creation time (given your application does some visible output).
See the WSI chapter of the spec for details.

Related

How can I turn my code into an actual aplication for windows? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I developed a program written in C language using Gtk+ 3 for visual interface, and to run it I always use the comand line (Im using cygwin), but I would like to know how can i make my program an aplication, witch can be installed in windows and function like any other aplication (launch it throught files explorer or even throught the desktop enviroment)?
Thank you for your answers!
Provided that you have written the code portable, you basically have two options.
Install GTK on Windows. You can find instructions here: https://www.gtk.org/docs/installations/windows/
Rewrite the whole application for Windows API. This is NOT trivial.
On top of that, use windows installer

Programmatic SLI and CrossFireX Detection [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
Using C how can I detect the currently installed discrete GPUs and if they are currently in CrossFireX or SLI. I am using windows 7 and openGL. I would like to discover this information so that in my game I can support Alternate Frame Rendering more efficiently.
You need to use specific extensions, for each vendor. For CrossFire, you would use WGL_AMD_gpu_association, and specifically wglGetGPUIDsAMD and wglGetGPUInfoAMD to get information about the different GPUs. For Nvidia SLI, you would use WGL_NV_gpu_affinity, and specifically wglEnumGpusNV and wglEnumGpuDevicesNV to get information about the different GPUs.
To actually utilize multi-gpu, you will also need to create your contexts with the functions within those two extensions as well.

Build a File Monitoring System [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have just started programming and would like to implement a file monitoring system from scratch in C.
I have used the Watch Service API in java but I would like to learn how to build one from scratch. I would really appreciate some assistance and guidance.
Thanks.
You can:
either rely on existing system calls that will push you notifications on file system modifications (eg: inotify)
implement your own kernel module that will intercept file system modification and notify you (if you really want to reimplement the wheel)
use a polling-approach, rebuild the filesystem tree in-memory and compare it every second or so. This will be very cpu/io/memory consuming, but it can be instructive.

Simple console graphics in C [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am new to C and I would like to know if it is possible to make colorful console menus with simple graphics, like old DOS programs used to look. I am programming on Windows PC and portability is not important for this one.
Take a look at PDCurses which is a dos/windows curses implementation (curses does all the console richness in unix/linux environments).

Build an interface using only the SDL and the C standard library [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I need to make a program using only the C standard library and the SDL. I can't use the Windows API or any other library. I need to use only the C language i.e. no C++, no C# etc.
I have really no idea on how to achieve that since I only know to output to the standard output device (console) and files. So I hope you can give me an example on how to open a window with two buttons (custom built): one to exit and one to perform any task.
To create a window: https://wiki.libsdl.org/SDL_CreateWindow?highlight=%28%5CbCategoryVideo%5Cb%29%7C%28CategoryEnum%29%7C%28CategoryStruct%29
About the buttons, you gotta compare the mouse coords and if the user is clicking on the desired spot to do whatever you want. To get this user input data you gotta use the sdl event handling system. You can learn about it trought sdl's wiki or you check this tutorial http://lazyfoo.net/SDL_tutorials/lesson04/index.php (i'm sure that there are other tutorials out there if you google it).
To draw the buttons to the sccreen you have to use SDL's rendering system.
Your question is not that specific, so that is the best i can do for you.

Resources