[Developing]Vulkan API Support

Discussion regarding the development of CEGUI itself - as opposed to questions about CEGUI usage that should be in the help forums.

Moderators: CEGUI MVP, CEGUI Team

xXArthurXx
Not too shy to talk
Not too shy to talk
Posts: 21
Joined: Mon Jun 13, 2016 15:06

Re: [Suggest]Vulkan API Support

Postby xXArthurXx » Sun Jun 19, 2016 15:45

I'm confused :? Where did I said, that someone is my personal assistant ? Anyway, that's not important :|

Okay, I played a bit with Vulkan and found out, that there are a few things, which should be clarified before :pint:

A few things according to Vulkan:
    1. If you want to use functions of Vulkan, you must check before, whether a device supports this function!
    2. You can use functions without checking that, but its not recommended!
    3. A device must be selected!

Having the list above in my small head, I looked to the documentation of a library, which gives me nice simple frames both for OpenGL and Vulkan (GLFW).
So if you're browsing through the API doc, you notice, that GLFW doesn't select the device for you, nor even it loads the Vulkan library with checks whether they are usable.

For the development of the API Support for Vulkan I thought of a small procedure which checks for us the wished functions and even selects the correct device for us, because the development would be easier, if we have the same device configuration. Besides that, other developer wouldn't be confronted with the difficult selection of device properties etc.

Furthermore according to supported functions and supported features I would suggest to create a single procedure, which selects during initialization the rigth functions (and features) for the renderer.

PS:
We should create a useless function with a 30-letters long german name :mrgreen:
There's much to do!
(PSPS: Shouldn't we move this to another place?)
May be the physic with you !

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: [Suggest]Vulkan API Support

Postby Ident » Sun Jun 19, 2016 16:10

I will move it into the development section.

Please always link the relevant info, such as for example about the necessity to select devices, etc. So I don't have to search for it again ;)
CrazyEddie: "I don't like GUIs"

xXArthurXx
Not too shy to talk
Not too shy to talk
Posts: 21
Joined: Mon Jun 13, 2016 15:06

Re: [Developing]Vulkan API Support

Postby xXArthurXx » Wed Jun 22, 2016 14:55

Because of much school work, this will take time I only wanted to notice. I'm sorry for that, please bear with me! :?
May be the physic with you !

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: [Developing]Vulkan API Support

Postby Ident » Wed Jun 22, 2016 18:59

That's ok, what really would matter for us is that you would stick to this goal ;) if it takes longer it's not too bad because driver support is still not optimal for Vulkan anyways. We are early adopters.
CrazyEddie: "I don't like GUIs"

YaronCT
CEGUI Team
Posts: 448
Joined: Fri Jun 19, 2015 12:18
Location: Kiryat-Bialik, Israel

Re: [Developing]Vulkan API Support

Postby YaronCT » Sat Jun 25, 2016 12:09

xXArthurXx wrote:Because of much school work, this will take time I only wanted to notice. I'm sorry for that, please bear with me! :?


That's ok, but bear in mind u might lose your 1st paycheck.

xXArthurXx wrote:school


How old r u?..

xXArthurXx
Not too shy to talk
Not too shy to talk
Posts: 21
Joined: Mon Jun 13, 2016 15:06

Re: [Developing]Vulkan API Support

Postby xXArthurXx » Sun Jun 26, 2016 08:17

I'm too old :hammer:

Nah I have only one year left then I'll get to universities ;D
May be the physic with you !

YaronCT
CEGUI Team
Posts: 448
Joined: Fri Jun 19, 2015 12:18
Location: Kiryat-Bialik, Israel

Re: [Developing]Vulkan API Support

Postby YaronCT » Sun Jun 26, 2016 08:19

Hey, we don't accept code from kids! Go do your homework! :x

j.k. :D

xXArthurXx
Not too shy to talk
Not too shy to talk
Posts: 21
Joined: Mon Jun 13, 2016 15:06

Re: [Developing]Vulkan API Support

Postby xXArthurXx » Tue Sep 27, 2016 14:16

So now, after a while (yeah quite a while) I can report what I've found out according to Vulkan development.
But before I would like to excuse my absence. I had to do a couple of things and I also learned a couple of things.

Vulkan support requires alot more time and effort, because I didn't spend more time looking more into CEGUI aswell as I revelead another problem. For Vulkan support a well memory management for Vulkan objects is needed, because object allocation underlies special restrictions on the driver side like a maximal allocation count of e.g. 4096 objects(not memory!) on the graphics card, which means, that for example buffer objects must be splitted up for multiple use/be managed by application.

However, because I'm currently involved in my own projects, I cannot look into CEGUI any further, but (because my projects also use Vulkan) I do look for suitable solutions according memory management (/object management). If I find a fine solution I will share this with all people.

If there are any further questions, feel free to ask.

PS: If someone is asking what I've done instead so far, I informed myself more about general graphics programming and programming with Vulkan. This is still ongoing.
May be the physic with you !

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: [Developing]Vulkan API Support

Postby Ident » Wed Sep 28, 2016 22:08

Ok cool, thanks for giving us an update, it is good to know the state of your interest on this.

We will of course add Vulkan support in any case, at the very least for default branch. Any potentially useful info you find is appreciated.

xXArthurXx
Not too shy to talk
Not too shy to talk
Posts: 21
Joined: Mon Jun 13, 2016 15:06

Re: [Developing]Vulkan API Support

Postby xXArthurXx » Tue Nov 22, 2016 16:14

Hi again,
I'm still in interest of developing vulkan support, but I think it's better to do this in in a sub project and as a standalone library which should be easily integrated in future.

My focus for the library lies first in developing support for easy gui creation and design with css and layout files. Texture styling should follow after this. And yes I do want to recreate an extra core for Vulkan but I'm willing in to use already existing layout computing code.

Because this complete stuff is is a realy big project I want to ask, whether someone is interested in supporting me and probably wants to help developing core structures for css styling.
May be the physic with you !

YaronCT
CEGUI Team
Posts: 448
Joined: Fri Jun 19, 2015 12:18
Location: Kiryat-Bialik, Israel

Re: [Developing]Vulkan API Support

Postby YaronCT » Tue Nov 22, 2016 17:23

@xXArthurXx: What's the connection between Vulkan support and the other changes u propose?

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: [Developing]Vulkan API Support

Postby Ident » Tue Nov 22, 2016 18:44

As I said before, I am interested in supporting you if you are adding a vulkan renderer to cegui. A separate Vulkan core (whatever you mean by that) makes little sense to me, it would be better to derive from CEGUI::Renderer and implement what is needed for CEGUI there analogous to the other renderers. On default we can change things to accomodate for Vulkan, since it is a bit more low-level than the other Renderers we got.

Not sure how this is related to Vulkan but CSS support for CEGUI is also something that has been around as an idea for long.

Regarding easy gui creation, have you looked into CEED?


Btw we might apply to Google Summer of Code 2017, which would be perfectly suited for a CSS style project as the one you mentioned.
CrazyEddie: "I don't like GUIs"


Return to “CEGUI Library Development Discussion”

Who is online

Users browsing this forum: No registered users and 5 guests