Vulkan Limitations / GPU Needed vs opengl [closed] - opengl

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I would like to know if vulkan has some known limitations that opengl don't have, and if it requires to have some specific hardware.
I heard that on android, only phones with nvidia gpu will be usable by vulkan (and would not limit the usage of vulkan on gpu), is that true?

I would like to know if vulkan has some known limitations that opengl don't have, and if it requires to have some specific hardware.
Vulkan is supported on a wide range of devices. For desktop it should be possible with hardware that supports OpenGL 4.x and on mobile OpenGL ES 3.1.
But the actual support for Vulkan is ultimately up to the vendor, so if the vendor decides not to offer Vulkan drivers (or Android system images with Vulkan support) then you're out of luck.
You can check out my Vulkan Hardware Database for a list of devices that support Vulkan. You'll also find several mobile GPUs that support Vulkan on Android aside from NVIDIA. Pretty much every mobile GPU vendor has at least one GPU that supports Vulkan.
As for the limitations, there is a wide array of of features and limits for the Vulkan implementation. While stuff like e.g. compute shader support is mandatory, everything else listed under the features is optional so you need to check before using a certain feature. And yes, there are a few things that are missing from Vulkan right now that OpenGL had like transform feedback.
Other than that Vulkan supports an extension mechanism (similar to OpenGL) for offering features that are not part of the core and e.g. vendor specific.

Related

Software-only openGL32.dll? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I have multiple machines that do not have openGL capable graphics controllers (or at least not for the OS I am using), and I am trying to run various softwares which require openGL32.dll to be present and working. I only need openGL version 1.4 compatibility.
My question: Is there some sort of software-only emulation for openGL that I can use to run these? I have heard of MESA, but all I need is the dll, and MESA seems to require that I build everything manually.
I am running Windows 10 x86_64
I'm pretty surprised that a machine running Windows 10 does not have a GPU capable of supporting OpenGL-1.4 – most likely you simply don't have the proper drivers installed and that's all your troubles. OpenGL dates back almost 15 years; that was before shaders where are thing.
The default Windows installation does not ship with fully featured OpenGL drivers, because Microsoft in all their wisdom decided, that they'd strip perfectly working OpenGL drivers from the drivers installed through Windows automatic driver installation.
To get full and proper OpenGL support you absolutely must download the drivers directly from your GPU vendors website and install those. Open up the "Hardware Manager", look for "Graphics adapter", there you find the name of it. Type the name plus "driver Windows" into the little box of Google and it will carry you to the right place.
Mesa3D seems to publish its own versions of it: https://fdossena.com/?p=mesa/index.frag

When to use Nvidia CUDA instead of plain OpenGL shaders [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm asking myself what will be the architectural benefits of these two approaches whether using Nvidia CUDA or OpenGL Shaders for a computation.
Therefore I want to determine which part of my application would better be implemented on CUDA or OpenGL.
For sure, if platform-dependence is no reason, you gain more granularity about your threads and memory by using CUDA.
To display your results, which were computed by CUDA, using OpenGL, you have to use some maybe "tricky" interoperabiltiy API.
Are there any best practices when to use one of these architectures and when to utilize a combined approach?
Most rendering tasks would be way harder to implement using CUDA. Shaders are fully integrated with rendering APIs, such as OpenGL, to automate and provide all the most common and efficient tools for rendering geometry. Things like texture sampling and polygon rasterisation are built-in all shading languages. If you where to re-implement that using something like CUDA, it would not only take a long time and effort but also probably end up running slower than a shader.
CUDA is designed, in my view, to process other complex computational things, like physics simulations, in a more parallel and efficient manner, using the naturally scalable GPU. Apart from that, for rendering of geometry, there is little gain from the use of a computing framework like CUDA or OpenCL.

OpenGL Vs DirectX Today? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
So there was a popular article a few years back titled OpenGL 3 & DirectX 11: The War Is Over then there was this article titled OpenGL vs DirectX: The War Is Far From Over
I would like to know what is the stand today ? What is the future of OpenGL when compared to DirectX ? Is OpenGL catching up with latest specifications?
There is this recent article Return of the DirectX vs. OpenGL Debates but it doesn't say anything clearly about questions i asked.
What is the future of OpenGL when compared to DirectX
By the numbers OpenGL, especially its embedded variant clearly dominates the market. Practically every smartphone (except for Windows Phone) sold these days relies on OpenGL for its graphics output.
Also with Valve's strong push for the Linux market and their Steam Boxes, OpenGL gets another push. Other game makers and vendors are following into their steps, with many Triple-A game engines getting Linux ports these days.
Is OpenGL catching up with latest specifications?
These days OpenGL tends to be ahead of hardware development. The latest OpenGL specification is OpenGL-4.4, but the majority of GPUs and drivers found out there are still at OpenGL-4.3 (note that the major version number of OpenGL relates to the hardware class).

OpenGL code slow on one computer (but not on others) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 9 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Questions concerning problems with code you've written must describe the specific problem — and include valid code to reproduce it — in the question itself. See SSCCE.org for guidance.
Improve this question
I have a shader that is currently doing some raytracing. The shader used to take the scene information as uniforms to render the scene but this proved to be way too limited so we switched to using SSBOs (shader storage buffer objects). The code works perfectly on two computers, but another computer is rendering it very slowly. The video card for that computer is a radeon HD 6950. The video cards that are rendering it correctly are a GTX 570 and a radeon HD 7970. The scene is shown correctly on the three computers but the radeon HD 6950 is rendering it very slowly (1 FPS when we are rotating around the scene). We thought it was a openGL version problem but it doesn't seem to be the case since we updated the drivers and it still doesn't work. Any idea where the problem might be?
There are a few possibilities:
You could be falling off the fast path on that particular card. Some aspect of your rendering may not be implemented as efficiently on the lower-end card, for example.
You may be hitting the VRAM limit on the 6950, but not on the other 2 cards and OpenGL is essentially thrashing, swapping things out to main memory and back
You may have triggered software rendering on that card. There may be some specific OpenGL feature you're using that's only implemented in software for the 6950, but is hardware accelerated on the other cards.
You don't say which OS you're working with, so I'm not sure what to tell you about debugging the problem. On MacOS you can use OpenGL Profiler to see if it's falling back to software and use OpenGL Driver Monitor to see if it's paging out. On iOS you can use Xcode's OpenGL profiling instrument for both of those. I'm not sure on Windows or Linux as I don't have experience with them.

Performance Profiling of OpenGL Shaders [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
Is there a tool available that can do performance profiling of OpenGL shaders?
nVidia PerfWorks can. They also have FX Composer, which includes some profiling with a graphical front-end (but FX Composer is now basically discontinued--you can still download it, but it's no longer being updated).
AMD/ATI's GPUPerfAPI and GPUPerfStudio provide similar capabilities. They also have GPU ShaderAnalyzer to do static analysis, but I believe it's restricted to DirectX shaders, not OpenGL.
If you run on Nvidia hardware there is also Nsight for Visual Studio resp. the standalone Nsight Graphics.
AMD's GPUPerfStudio even works without AMD hardware but you only get the API tracer (and the static shader analyzer if you use DirectX). The frame debugger and profiler tools depend on their hardware of course.
For Intel there is GPA. It doesn't support shader micro profiling though.
There is also the static (i.e. does not require hardware) Intel Shader Analyzer but not sure if it provides more than just the assembly: http://shader-playground.timjones.io/749ef0d908128a0ae8a824b93381bbf1
RenderDoc does not really have profiling capabilities at this point due to lack of time.
But some Intel perf counters for OpenGL have been added recently.