Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "vulkan"
-
Updated Nvidia drivers, installed latest wine, Vulkan, DXVK (<3) and Overwatch. It now runs on ultra on Ubuntu 16.04 with around the same fps as on high on Windows. Gotta love the Linux community!12
-
Fucking windows! I am so fucking done with this microsoft bullshit!
Hear me out here, i am a gamer. I need windows because it has the games (and software to aid those games) unlike any other platform. But windows 10 is basically already phishing andmalware at this point. I stuck to win 7 because it had a start menu and didn't totally drive me up the wall.
Just a short list of their bullshits: ads in the explorer window, ads in your taskbar reminders, data mining like it is nobodies business and trying to hide it, sharing my wifi access with friends (wtf), the fucking retarded new start menu, the crappy fullscreen apps which have less functionality than the actual proper desktop applications that you need to config what you want, and even then pushing multiple updates that simply broke peoples pc's. Fuck that, ill stick to 7.
They are making win10 worse by the week making it unlikely i will ever join that hell, and they are also aiming to force me there. Making windows store exclusives and dx12 only games. What am i supposed to do against that?! The current releases don't bother me much but fuck i figure it is a matter of time until the newest katamari game is their exclusive and i nanananana katamari damacy all over their platform.
And well all alternative os's are just out of the question unless vulkan rendering gets the upper hand. Then i'd switch to whatever stable distro and learn about our new penguin based overlords languages.
For now i will just stick to win7, suck on my thumb while in fetal position and hope it just all goes away.59 -
"OpenGL, OpenCL deprecated in favor of Metal 2 in macOS 10.14 Mojave". Another reason I'm never buying another Apple computer.2
-
Today, January 13th 2019, marks the one year anniversary of the initial release of DXVK.
https://github.com/doitsujin/dxvk/...
Through DXVK, I've personally seen compatibility like never before with running Windows games on Linux. Some games which I had never been able to play on Linux before, games which tied me down to keeping a Windows desktop around - no longer bind me.
At the same time, today marks one year remaining for Microsoft's support of Windows 7 - which will be cut off at January 14th 2020. At which time those shackles would bind to a corpse.
I felt it appropriate to celebrate with a DXVCake!1 -
After days of trying I finally got Vulkan to render something and I regret it I absolutely regret it3
-
So I'm flabbergasted at the current trend of non-native Linux gaming becoming so stable and performant. In these past few months, I've witnessed stability akin to native support on games I had never expected to run well on Linux before.
DXVK had its initial release in January 2018, and so far every single game I've thrown it at has run so well that I forget it's non-native.
With front-ends like Lutris, it's easier than ever to get these non-native titles configured perfectly - to say nothing about what Proton offers for UX.
What will the 2nd year of DXVK bring? Extended Support for Windows 7 ends in one year - and I've never seen such stability and capability from Linux gaming parity.2 -
Only around 700 lines of code and I finally have my first working Vulkan drawcall! Can't wait to integrate it into my engine for all the parallel rendering goodness (not to mention better architecture and asynchronous-ness)
One thing that's a bit weird about Vulkan is the way everything is very static and tightly linked together. You basically need a different renderpass for each stage of rendering (scene-hdr-no-aa, scene-hdr-msaa4, scene-hdr-smaa1, scence-shadow, post-bloom, post-resolve, etc.), a different pipeline object for each distinct pipeline configuration (!!) and both framebuffers and pipeline objects are only valid within the single renderpass they've been created for (roughly speaking)
Oh, and each time the window is resized you have to recreate *all* of these objects from scratch because they also depend on viewport size
No wonder `pipelineCache` is the first argument of `vkCreateGraphicsPipelines` lol3 -
New idea: Fuck raytracing for global illumination because you just need too many rays for it to converge
What if we do surfels (to keep the number of probes down and relevant to our scene) and we update the 4x4-ish sized hemisphere irradiance maps not by tracing a single ray per frame per surfel. I have a fast as shit compute shader rasterizer... What if I just raster each surfel each frame? Should be around the same number of pixels as the primary visibility so totally feasible....
Each frame just jitter the projection a bit and voila. Should have extremely high quality diffuse global illumination at well below 1 ms. Holy shit this might just work3 -
In vulkan we don't say it works we say
VUID-vkAcquireNextImageKHR-fence-01287(ERROR / SPEC): msgNum: 207921847 - Validation Error: [ VUID-vkAcquireNextImageKHR-fence-01287 ] Object 0: handle = 0xe7e6d0000000000f, type = VK_OBJECT_TYPE_FENCE; | MessageID = 0xc64a2b7 | vkAcquireNextImageKHR(): VkFence 0xe7e6d0000000000f[] is already in use by another submission. The Vulkan spec states: If fence is not VK_NULL_HANDLE it must be unsignaled and must not be associated with any other queue command that has not yet completed execution on that queue (https://vulkan.lunarg.com/doc/view/...)
Objects: 1
[0] 0xe7e6d0000000000f, type: 7, name: NULL
VUID-vkAcquireNextImageKHR-swapchain-01802(ERROR / SPEC): msgNum: 1050126472 - Validation Error: [ VUID-vkAcquireNextImageKHR-swapchain-01802 ] Object 0: handle = 0xcb3ee80000000007, type = VK_OBJECT_TYPE_SWAPCHAIN_KHR; | MessageID = 0x3e97a888 | vkAcquireNextImageKHR: Application has already previously acquired 1 image from swapchain. Only 1 is available to be acquired using a timeout of UINT64_MAX (given the swapchain has 2, and VkSurfaceCapabilitiesKHR::minImageCount is 2). The Vulkan spec states: If the number of currently acquired images is greater than the difference between the number of images in swapchain and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, timeout must not be UINT64_MAX (https://vulkan.lunarg.com/doc/view/...)
Objects: 1
[0] 0xcb3ee80000000007, type: 1000001000, name: NULL
and I think that's beautiful10 -
- Continue working through my CS degree
- Finish my current game I'm working on
- get an Internship
- Learn OpenGL or Vulkan
- Learn C (I already know C++ and C#)
I got some work ahead of me, but this seems doable! I'm excited for the next 100 weeks! -
Woo! My first Vulkan window that does buffer swapping (swapchain image presenting in vulkan lingo). It doesn't draw anything yet and still took me 3 days lol
Note that if you try to resize it or minimize it or do basically anything with it the whole application crashes but still11 -
CORRECT ME IF I'M WRONG.
Didn't server industry and technology get a little.. stale?
I mean, just look at similar industries
For example - mobile phones, they are everywhere now and each year we get new technology, the new big thing and whatnot.
Other example - gaming, VR came up moderately recently to a usable state, we got a great influx of flexible languages like C#, Java etc.
New engines to build games on top of, new graphical apis like Vulkan and whatnot.
..and Servers? It feels like the last big thing (and makes me feel like the only one) was Cloud Storage.
wdyt?11 -
when KhronosGroup anounced Vulkan back then, they also announced a whole set of software, that can handle all the new formats, that they introduced.
One format in particular peaked my interest recently, which is ktx2. It's an image format, that can be multilayered, and supercompressed, has inline mipmapping, and most importantly: streamed directly to the GPU, without involving the CPU basically at all.
Now here comes the kicker. If i want to use this format (mind you: Vulkan is around for a while now) for creating Skyboxes, there is only a single tool, that can properly convert hdr images to ktx2, and it only works on windows. Oh and there are no binaries, so in every case you have to compile it yourself.
Ah and then i thought, okay what if i then already render the cubemap faces and assemble them by hand into the cubemap, because _some_ ktx tools work on linux, then that should work right? wrong. When assembling it, it turns out, that now it's a 2D image instead of a 2DArray image with one element (which apparently is not the same for skyboxes)
Why is this shit such a pain in the ass?
Like.. I'm currently rendering equirectangular hdr images on my linux machine, then move these (usually 100MB) files over to some windows PC, convert it there into ktx2 cubemaps and then move it back. And everytime i need to do a change on the skybox, i have to repeat this whole nonsense. Ah.. and this tool doesn't even properly work on Windows, like you can't just disable mipmaps or change the filtering, because then the skybox is just black for some reason.
The funniest thing is, at the end of the day, these ktx2 files work on linux, as well as windows, mac and even mobile platform, so there's really no reason, that the conversion tool only works on one of them systems.
But hey, at long last i got them working, and this stuff looks quite nice now 👌2 -
FUCK YOU to all the platforms abandoning OpenGL.
FUCK YOU MICROSOFT! (defaults opengl 1.1)
FUCK YOU APPLE!
I guess we are moving steadily towards Vulkan.
Is Apple even going to support that?
FUCK YOU APPLE!
And an extra FUCK YOU APPLE! just because they are dicks in general.
Don't think I forgot Microsoft's dickishness: FUCK YOU MICROSOFT!1 -
PSA: The smaller the compute shader workgroups the more efficient they are, down to the wave size (32 on nvidia). Not exactly sure why, but looks like if you don't need group shared memory always have your workgroups be wave sized
Just this alone gave me a 30%+ performance increase. And combined with a few other changes got me from 50 µs to 10 µs, yay!5 -
Dev goals on the 1st of January:
- learn vulkan
- get a good paying job
Dev goals on the 3rd of January:
- not getting drafted2 -
Who the fuck invented Hungarian notation?
lpszName, bVisible, pNext, ppData...
A variable's type should already be clear by its name and scope. If not, get yourself some decent IDE that helps you out. Why this style is still in use in code like the Vulkan API is beyond me... IT IS NOT USEFUL!3 -
Name one thing more fun than atomically writing values into a gpu buffer and them mysteriously vanishing into the aether immediately after the compute shader invocation
I can literally see them in the buffer using RenderDoc and then as soon as I go to the next command the buffer is completely filled with zeros again as if the values never existed
?? like how ??11 -
I've decided to switch my engine from OpenGL to Vulkan and my god damn brain hurts
Loader -> Instance -> Physical Devices -> Logical Device (Layers | Features | Extensions) | Queue Family (Count | Flags) -> Queues | Command Pools -> Command Buffers
Of course each queue family only supports some commands (graphics, compute, transfer, etc.) and everything is asynchronous so it needs explicit synchronization (both on the cpu and with gpu semaphores) too4 -
Today I got hit in the balls by finding out that my idea of a videogame already existed in the form of a game called Phantom Dust, originally released for the first Xbox series, before the end of turn into the Xbox 360 series.
What adds insult to injury: The game is absolutely beautiful, fantastic and I have no gripes about the gameplay. It is everything I was hoping to develop.
This just makes my venture into game development in the land of Vulkan C that much more interesting.
If you LOVE card games(read Trading Card Games) like MTG, Pokemon, YugiOh etc, then you owe it to yourself to play this game6 -
How long do you think it would take to write a simple data-oriented 3D - Game Engine with c++ and Vulkan?
Simple in a sense of graphically low performing. And all that alone?3 -
Is it a good idea to switch from learning openGL to learning Vulkan now?
I was learning openGL in the past months and now that Vulkan is out I am thinking about learning that instead. I've heard that it's harder to learn though, so roughly how long do you think it would take to learn it as a openGL novice?
In openGL I have used instanced rendering with different textures, specular maps in the shader all in perspective 3D of course.3 -
Migrating from opengl to vulkan. In the meanwhile, DevRant, let's talk about Balmers Peak !
Share your stories!3 -
Are there out solutions to create cross-platform GUIs withing a GUI (like Blend in Visual Studio) which does interface with C++?(leave out Qt)
Searching the web I only found GUI libraries in C++, which are big turnoff for designers.
Further research leaded me to a viable solution that seems haven't been built yet anywhere, I'm taking about OpenGL\Vulkan as the engine for a cross-platform GUI builder within a GUI.4 -
New Year's goal: find out if linux vulkan/mesa drivers work on my desktop as there's no real reason to not switch now other than maybe that.
Proton, DXVK and Gallium Nine support like 80% of games now (suck it, nvidia users, we get the good ones!) and i've seen performance improvements after switching from Windows builds on Windows to Windows builds on Proton using the same hardware.
Question is: how the hell do I carry over almost 2TB of shit to the new partitions? Also, Virtualbox is a bitch on Linux as if my kernel updates it's fucked and Boxes is trash...11 -
Okay, I may have heard wrong, but I thought Metal was a wrapper for vendor drivers of graphics cards. Like the vendors didn't rewrite their other platform drivers and did like an Opengl -> Metal wrapper instead. Or a Vulkan -> Metal wrapper. Now, out of curiosity I search for this, and I find that there are Metal -> Vulkan wrappers. So is it possible on MacOS to have a Vulkan -> Metal -> Vulkan setup now? Or even a Opengl -> Metal -> Vulkan? I know I have seen wrappers for Windows drivers so Linux can use them. But that was a while ago.4