Page 2 of 2

Re: [Suggest]Vulkan API Support

Posted: Sun Jun 19, 2016 15:45
by xXArthurXx
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?)

Re: [Suggest]Vulkan API Support

Posted: Sun Jun 19, 2016 16:10
by Ident
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 ;)

Re: [Developing]Vulkan API Support

Posted: Wed Jun 22, 2016 14:55
by xXArthurXx
Because of much school work, this will take time I only wanted to notice. I'm sorry for that, please bear with me! :?

Re: [Developing]Vulkan API Support

Posted: Wed Jun 22, 2016 18:59
by Ident
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.

Re: [Developing]Vulkan API Support

Posted: Sat Jun 25, 2016 12:09
by YaronCT
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?..

Re: [Developing]Vulkan API Support

Posted: Sun Jun 26, 2016 08:17
by xXArthurXx
I'm too old :hammer:

Nah I have only one year left then I'll get to universities ;D

Re: [Developing]Vulkan API Support

Posted: Sun Jun 26, 2016 08:19
by YaronCT
Hey, we don't accept code from kids! Go do your homework! :x

j.k. :D

Re: [Developing]Vulkan API Support

Posted: Tue Sep 27, 2016 14:16
by xXArthurXx
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.

Re: [Developing]Vulkan API Support

Posted: Wed Sep 28, 2016 22:08
by Ident
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.

Re: [Developing]Vulkan API Support

Posted: Tue Nov 22, 2016 16:14
by xXArthurXx
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.

Re: [Developing]Vulkan API Support

Posted: Tue Nov 22, 2016 17:23
by YaronCT
@xXArthurXx: What's the connection between Vulkan support and the other changes u propose?

Re: [Developing]Vulkan API Support

Posted: Tue Nov 22, 2016 18:44
by Ident
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.