-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vulkan port merge #204
Comments
oh yeah, and people who are committing to main during this process...please stop! commit your changes to the krma branch after the git maintenance is completed. the main branch should be considered read only until vulkan becomes main. otherwise we'll have to repeat the maintenance procedures over and over again. |
Thanks for doing this @awolven . As a reminder, I hope to keep the OpenGL version working as an option even after the Vulkan merge. I plan to add some features to main in the coming days, but will refrain from doing so once someone starts working on this task. |
@awolven On running the kons-9 krma branch, some errors occurr. Please can you suggest how to remedy them. System: Linux, x11 (XFCE desktop on kubuntu 23.04)
Following are the steps which were done:
Evaluating the last step The following error gets printed many (13) times in the slime repl:
This error gets printed twice:
This error gets printed twice:
|
@awolven Here's the result with krma standalone: System: Linux, x11 (XFCE desktop on kubuntu 23.04)
Following steps were done:
Following error printed 13 times:
No error when printing the above text
Line gets drawn but the repl logs a continuous stream of the below errors which never stop: [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 [vulkan] ObjectType: 6 |
Thanks for looking at this. I have to work today though and won't be back
at my desk until 0200 GMT. These errors have been expected.
…On Sun, Aug 6, 2023, 1:44 AM Kayomarz ***@***.***> wrote:
@awolven <https://github.com/awolven> On running the kons-9 *krma*
branch, some errors occurr. Please can you suggest how to remedy them.
System: XFCE desktop on a fresh kubuntu 23.04.
Following are the steps which were done:
- clone awolven/kons-9
- checkout krma branch in local
- git submodule update --init --recursive
- (kons-9:run)
Evaluating the last step (kons-9:run) within SLIME, caused the kons-9
window to open but it seems to be non-responsive and usual interactions of
mouse, keyboard (for menu) do not respond. Closing the window too, doesn't
work normally.
[image: awolven-kons-9]
<https://user-images.githubusercontent.com/140297/258619065-c49486c4-e94f-4794-8413-683ed14201a4.png>
The following error gets printed many (13) times in the slime repl:
[vulkan] ObjectType: 3
Message: Validation Error: [
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749 ] Object 0: handle =
0x557015349df0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x1b1ca73 | The
line width state is static (pCreateInfos[0].pDynamicState->pDynamicStates
does not contain VK_DYNAMIC_STATE_LINE_WIDTH) and
VkPhysicalDeviceFeatures::wideLines is disabled, but
pCreateInfos[0].pRasterizationState->lineWidth (=2.000000) is not 1.0. The
Vulkan spec states: If the pipeline is being created with pre-rasterization
shader state, and the wideLines feature is not enabled, and no element of
the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_LINE_WIDTH,
the lineWidth member of pRasterizationState must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749
)
This error gets printed twice:
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdDrawIndexed-None-02859 ] Object 0:
handle = 0x5570154f0660, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1:
handle = 0x780000000078, type = VK_OBJECT_TYPE_PIPELINE; | MessageID =
0x93e69b0a | vkCmdDrawIndexed: VkPipeline 0x780000000078[] doesn't set up
VK_DYNAMIC_STATE_LINE_WIDTH, but it calls the related dynamic state setting
commands The Vulkan spec states: There must not have been any calls to
dynamic state setting commands for any state not specified as dynamic in
the VkPipeline object bound to the pipeline bind point used by this
command, since that pipeline was bound (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02859
)
This error gets printed twice:
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdSetLineWidth-lineWidth-00788 ]
Object 0: handle = 0x5570154f0660, type = VK_OBJECT_TYPE_COMMAND_BUFFER; |
MessageID = 0x3d555d77 | VkPhysicalDeviceFeatures::wideLines is disabled,
but lineWidth (=3.000000) is not 1.0. The Vulkan spec states: If the
wideLines feature is not enabled, lineWidth must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdSetLineWidth-lineWidth-00788
)
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMM6UAZOEWPZMVDKAWLXT44LPANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I tried to leave the main branches of krma and cl-vulkan alone so as not to
break kons9 support, but I think I must have let a commit leak to one of
the main branches by accident anyway. But the bugs are moot. I have
continued to progress krma for the past nine months under the "noglfw"
branch, and Kaveh has continued to update the opengl 1.1 branch of kons 9.
So a new approach is needed to get this done.
My suggestion is to work with the latest version of krma, as that is the
version I will support, and also because there are many bug fixes and
enhancements to that version. It is currently the "noglfw" branch, but I
would like to merge this with krma "main". Then one can manually cherry
pick the changes out of the opengl.lisp file in my kons-9 repo and get them
working in the latest kons-9.
There are a few things on my end I would like to do before you can get
going in earnest. As I mentioned I would like to merge the "noglfw"
branches of krma and cl-vulkan into those "main" branches so that you have
one less git step to do. Second, as the branch name implies, I have
replaced GLFW with a lisp system. This system is called CLUI, and actually
does cross-platform framebuffer scaling sanely which GLFW does not. There
is a recipe therefore that you can follow to make sure that window scaling
and font sizes never burn you again, as the API worked differently in GLFW
between macos and the other platforms. CLUI is ready for its initial
release. CLUI (on Windows and Linux) depends on "noffi" system by Gilbert
Baumann, and he has given me permission to release NOFFI with CLUI, so long
as I make a note that the C parser is not to be extracted from CLUI for use
with any other project. (Gilbert wants to get the documentation going and
release that system himself.) So I need to put a copy of NOFFI in the CLUI
repo (with the zlib license and credits) for CLUI to work for you as you do
not have access to NOFFI otherwise.
Since GLFW is gone, the keyboard and mouse input callbacks will have to be
redefined as clui:handle-event methods. I will provide documentation for
that as necessary.
On MacOS, as before, krma requires MoltenVK, an objective c library, and I
have a patch for that. It doesn't work out of the box. On MacOS, CLUI
also requires the c library Libffi, which installs itself as part of CFFI.
So MacOS requires two C dependencies, but Windows and Linux stacks are
entirely Lisp. Once Bart Botta or myself make some fixes to the Clozure
Common Lisp version of 3b-bmfont, a dependency of krma, the stack will work
with both SBCL and CCL.
I'll make those changes and post the instructions for building the new krma
in a day or two.
…-AKW
On Sun, Aug 6, 2023 at 2:31 AM Kayomarz ***@***.***> wrote:
@awolven <https://github.com/awolven> Here's the result with krma
standalone:
System: Linux, x11 (XFCE desktop on kubuntu 23.04)
KONS-9> vk::(physical-device (default-logical-device *app*))
#<GPU AMD Radeon Graphics (RADV RENOIR)>
KONS-9> (princ vk::*present-mode*)
1
1
Following steps were done:
git clone ***@***.***:awolven/krma.git
cd krma/
git submodule update --init --recursive
Downloaded VulkanSDK
edited GLSL_COMPILER in krma/compile.sh
./compile.sh
edited version in krma/submodules/cl-vulkan/ifc/load-libraries.lisp
CL-USER> (pushnew "path/to/krma/" asdf:*central-registry* :test #'equalp)
CL-USER> (ql:quickload :krma)
CL-USER> (krma:run)
#<SIMPLE-TASKS:CALL-TASK :FUNC #<FUNCTION (LAMBDA () :IN KRMA:RUN) {1003E3851B}> :STATUS :SCHEDULED {1004381CE3}>
Following error printed 13 times:
[vulkan] ObjectType: 3
Message: Validation Error: [
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749 ] Object 0: handle =
0x5618562716f0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x1b1ca73 | The
line width state is static (pCreateInfos[0].pDynamicState->pDynamicStates
does not contain VK_DYNAMIC_STATE_LINE_WIDTH) and
VkPhysicalDeviceFeatures::wideLines is disabled, but
pCreateInfos[0].pRasterizationState->lineWidth (=2.000000) is not 1.0. The
Vulkan spec states: If the pipeline is being created with pre-rasterization
shader state, and the wideLines feature is not enabled, and no element of
the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_LINE_WIDTH,
the lineWidth member of pRasterizationState must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749
)
CL-USER> (krma:add-text "The quick brown fox jumped over the lazy dog." 100 200)
; No value
No error when printing the above text
CL-USER> (krma:add-2d-line 0 0 100 100 :color #x0000ffff)
; No value
Line gets drawn but the repl logs a continuous stream of the below errors
which never stop:
[image: awolven-kons-9]
<https://user-images.githubusercontent.com/140297/258628024-8ab5e017-e193-4449-9786-9c2cc8000b98.png>
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdSetLineWidth-lineWidth-00788 ]
Object 0: handle = 0x5618567bdc00, type = VK_OBJECT_TYPE_COMMAND_BUFFER; |
MessageID = 0x3d555d77 | VkPhysicalDeviceFeatures::wideLines is disabled,
but lineWidth (=2.000000) is not 1.0. The Vulkan spec states: If the
wideLines feature is not enabled, lineWidth must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdSetLineWidth-lineWidth-00788
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdDrawIndexed-None-02859 ] Object 0:
handle = 0x5618567bdc00, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1:
handle = 0x420000000042, type = VK_OBJECT_TYPE_PIPELINE; | MessageID =
0x93e69b0a | vkCmdDrawIndexed: VkPipeline 0x420000000042[] doesn't set up
VK_DYNAMIC_STATE_LINE_WIDTH, but it calls the related dynamic state setting
commands The Vulkan spec states: There must not have been any calls to
dynamic state setting commands for any state not specified as dynamic in
the VkPipeline object bound to the pipeline bind point used by this
command, since that pipeline was bound (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02859
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdSetLineWidth-lineWidth-00788 ]
Object 0: handle = 0x561856584e70, type = VK_OBJECT_TYPE_COMMAND_BUFFER; |
MessageID = 0x3d555d77 | VkPhysicalDeviceFeatures::wideLines is disabled,
but lineWidth (=2.000000) is not 1.0. The Vulkan spec states: If the
wideLines feature is not enabled, lineWidth must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdSetLineWidth-lineWidth-00788
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdDrawIndexed-None-02859 ] Object 0:
handle = 0x561856584e70, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1:
handle = 0x420000000042, type = VK_OBJECT_TYPE_PIPELINE; | MessageID =
0x93e69b0a | vkCmdDrawIndexed: VkPipeline 0x420000000042[] doesn't set up
VK_DYNAMIC_STATE_LINE_WIDTH, but it calls the related dynamic state setting
commands The Vulkan spec states: There must not have been any calls to
dynamic state setting commands for any state not specified as dynamic in
the VkPipeline object bound to the pipeline bind point used by this
command, since that pipeline was bound (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02859
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdSetLineWidth-lineWidth-00788 ]
Object 0: handle = 0x561856588ca0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; |
MessageID = 0x3d555d77 | VkPhysicalDeviceFeatures::wideLines is disabled,
but lineWidth (=2.000000) is not 1.0. The Vulkan spec states: If the
wideLines feature is not enabled, lineWidth must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdSetLineWidth-lineWidth-00788
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdDrawIndexed-None-02859 ] Object 0:
handle = 0x561856588ca0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1:
handle = 0x420000000042, type = VK_OBJECT_TYPE_PIPELINE; | MessageID =
0x93e69b0a | vkCmdDrawIndexed: VkPipeline 0x420000000042[] doesn't set up
VK_DYNAMIC_STATE_LINE_WIDTH, but it calls the related dynamic state setting
commands The Vulkan spec states: There must not have been any calls to
dynamic state setting commands for any state not specified as dynamic in
the VkPipeline object bound to the pipeline bind point used by this
command, since that pipeline was bound (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02859
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdSetLineWidth-lineWidth-00788 ]
Object 0: handle = 0x5618565b8eb0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; |
MessageID = 0x3d555d77 | VkPhysicalDeviceFeatures::wideLines is disabled,
but lineWidth (=2.000000) is not 1.0. The Vulkan spec states: If the
wideLines feature is not enabled, lineWidth must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdSetLineWidth-lineWidth-00788
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdDrawIndexed-None-02859 ] Object 0:
handle = 0x5618565b8eb0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1:
handle = 0x420000000042, type = VK_OBJECT_TYPE_PIPELINE; | MessageID =
0x93e69b0a | vkCmdDrawIndexed: VkPipeline 0x420000000042[] doesn't set up
VK_DYNAMIC_STATE_LINE_WIDTH, but it calls the related dynamic state setting
commands The Vulkan spec states: There must not have been any calls to
dynamic state setting commands for any state not specified as dynamic in
the VkPipeline object bound to the pipeline bind point used by this
command, since that pipeline was bound (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02859
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdSetLineWidth-lineWidth-00788 ]
Object 0: handle = 0x5618565ff130, type = VK_OBJECT_TYPE_COMMAND_BUFFER; |
MessageID = 0x3d555d77 | VkPhysicalDeviceFeatures::wideLines is disabled,
but lineWidth (=2.000000) is not 1.0. The Vulkan spec states: If the
wideLines feature is not enabled, lineWidth must be 1.0 (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdSetLineWidth-lineWidth-00788
)
[vulkan] ObjectType: 6
Message: Validation Error: [ VUID-vkCmdDrawIndexed-None-02859 ] Object 0:
handle = 0x5618565ff130, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1:
handle = 0x420000000042, type = VK_OBJECT_TYPE_PIPELINE; | MessageID =
0x93e69b0a | vkCmdDrawIndexed: VkPipeline 0x420000000042[] doesn't set up
VK_DYNAMIC_STATE_LINE_WIDTH, but it calls the related dynamic state setting
commands The Vulkan spec states: There must not have been any calls to
dynamic state setting commands for any state not specified as dynamic in
the VkPipeline object bound to the pipeline bind point used by this
command, since that pipeline was bound (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02859
)
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMOFQTTSVOMNYYHHVNDXT5B57ANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Thanks for your reply. I will start working on this once the above changes and instructions for building the new karma are ready. |
Sorry for the delay, there were some communications delays between myself
and the NOFFI developer.
To get krma running in order to develop kons-9, you must do the following:
git clone ***@***.***:awolven/krma.git
cd krma
git submodule update --init --recursive
On Linux you must install the following packages before building:
libXinerama-devel
libXrandr-devel
libXcursor-devel
On MacOS you must install MoltenVK. I have a patch somewhere for
MoltenVK. Contact ***@***.***>.
then from lisp: (assumes SBCL or CCL with quicklisp)
(push "~/krma/" asdf:*central-registry*)
(ql:quickload :krma)
(trivial-main-thread:call-in-main-thread #'(lambda () (krma:main
(make-instance 'krma::krma-test-application))))
(krma:add-2d-line 100 100 200 200 :color #xffff00ff)
(krma:add-text "Sample Text" 250 200)
There is slightly out of date documentation in krma/documentation/.
There are krma functions for kons-9 in https://github.com/awolven/kons-9.git
krma branch src/graphics/opengl/opengl.lisp
You can create your own application by:
(defclass kons-9 (krma:krma-application-mixin)
((vk::application-name "kons-9")))
define clui:handle-event methods instead of using GLFW callbacks,
specialize on your own window-mixin:
(defclass kons-9-window-mixin (krma:krma-window-mixin)
((vk::clear-value
:initform (make-array 4 :element-type 'single-float
:initial-contents (list 1.0f0 1.0f0 1.0f0 1.0f0)))))
Windows are protocol classes, where the implementation class depends on the
platform:
#+x11
(defclass x11::kons-9-window (kons-9-window-mixin
x11:krma-enabled-window-mixin) ())
#+x11
(defmethod clui::get-an-x11-window-class ((display
x11:local-server-with-krma-mixin) errorp &rest initargs
&key &allow-other-keys)
(declare (ignore initargs))
(find-class 'x11::kons-9-window errorp))
I'll create a macro at some point for implementing cross-platform protocol
class implementations, but this should get you going.
Regards,
Andrew Wolven
…On Mon, Aug 7, 2023 at 1:23 AM Kayomarz ***@***.***> wrote:
Thanks for your reply. I will start working on this once the above changes
and instructions for building the new karma are ready.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMJJWMXMQSJMGBTPCJ3XUCCWTANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
This is awesome. Will try to compile and run it shortly. Curious how it will work on my Linux environment. Will try a few other environments as well. |
just tried cloning and running. I cannot replicate the following submodules:
As I am not part of the conversation, there is no need to give me perms to replicate those submodules. Just mentioning this if this is not related to perms necessary for those submodules for anyone that wants to test. Thanks. |
see if the following commands work:
git clone ***@***.***/awolven/clui.git
git clone ***@***.***:awolven/clui.git
git clone ***@***.***/awolven/3d-math.git
git clone ***@***.***:awolven/3d-math.git
…On Fri, Aug 11, 2023 at 7:22 PM aykaramba ***@***.***> wrote:
just tried cloning and running. I cannot replicate the following
submodules:
- 3d-math
- clui
As I am not part of the conversation, there is no need to give me perms to
replicate those submodules. Just mentioning this if this is not related to
perms necessary for those submodules for anyone that wants to test.
Thanks.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMPFHVPTOCJ4IKYQYD3XU3EF5ANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Results:
Cloning into '3d-math'... Please make sure you have the correct access rights
Cloning into 'clui'... Please make sure you have the correct access rights I am not entirely sure what to make of that. I can git clone all of the other submodules just fine. When I go to the following url I cannot browse those two repos: https://github.com/awolven/krma/tree/main/submodules |
these are not github repositories
please try to clone the bitbucket urls and see what it says
…On Fri, Aug 11, 2023 at 7:42 PM aykaramba ***@***.***> wrote:
Results:
1.
git clone *@*.***/awolven/clui.git <-- reply: repository does not
exist (makes sense)
2.
git clone *@*.***:awolven/d-math.git <-- Reply:
Cloning into '3d-math'...
***@***.***: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists
1. git clone *@*.***:awolven/clui.git <-- Reply:
Cloning into 'clui'...
***@***.***: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
I am not entirely sure what to make of that. I can git clone all of the
other submodules just fine. When I go to the following url I cannot browse
those two repos: https://github.com/awolven/krma/tree/main/submodules
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMPISL2DMPX2ZZ4SCVLXU3GN7ANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
try just these urls in some random temp directory:
git clone https://bitbucket.org/awolven/clui.git/
git clone https://bitbucket.org/awolven/3d-math.git/
…On Fri, Aug 11, 2023 at 7:46 PM Andrew Wolven ***@***.***> wrote:
these are not github repositories
please try to clone the bitbucket urls and see what it says
On Fri, Aug 11, 2023 at 7:42 PM aykaramba ***@***.***>
wrote:
> Results:
>
> 1.
>
> git clone *@*.***/awolven/clui.git <-- reply: repository does not
> exist (makes sense)
> 2.
>
> git clone *@*.***:awolven/d-math.git <-- Reply:
>
> Cloning into '3d-math'...
> ***@***.***: Permission denied (publickey).
> fatal: Could not read from remote repository.
>
> Please make sure you have the correct access rights
> and the repository exists
>
> 1. git clone *@*.***:awolven/clui.git <-- Reply:
>
> Cloning into 'clui'...
> ***@***.***: Permission denied (publickey).
> fatal: Could not read from remote repository.
>
> Please make sure you have the correct access rights
> and the repository exists.
>
> I am not entirely sure what to make of that. I can git clone all of the
> other submodules just fine. When I go to the following url I cannot browse
> those two repos: https://github.com/awolven/krma/tree/main/submodules
>
> —
> Reply to this email directly, view it on GitHub
> <#204 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AABGMMPISL2DMPX2ZZ4SCVLXU3GN7ANCNFSM6AAAAAATSSRWGI>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
Aha! That worked! Thank you kindly. |
cd krma
git pull
git submodule update --init --recursive
…On Fri, Aug 11, 2023 at 8:04 PM aykaramba ***@***.***> wrote:
Aha! That worked! Thank you kindly.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMMNOEY3MF3OSOOJ7O3XU3JBPANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I pushed some minor fixes for the Windows version, plus here are some
additional instructions for the Windows version. The rest of the
instructions are the same (after you do a git pull, git submodule update).
In file explorer right click sbcl.exe or wx86cl64.exe for CCL
select Properties
click "Change settings for All Users"
click "Change High DPI Settings"
check "Override high DPI scaling behavior,"
select "scaling performed by Application"
click Ok, click Apply, click Ok
…On Fri, Aug 11, 2023 at 8:05 PM Andrew Wolven ***@***.***> wrote:
cd krma
git pull
git submodule update --init --recursive
On Fri, Aug 11, 2023 at 8:04 PM aykaramba ***@***.***>
wrote:
> Aha! That worked! Thank you kindly.
>
> —
> Reply to this email directly, view it on GitHub
> <#204 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AABGMMMNOEY3MF3OSOOJ7O3XU3JBPANCNFSM6AAAAAATSSRWGI>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
I pushed some minor fixes for the MacOS version. Plus here is a patch you
must rebuild MoltenVK with to get the krma shaders working right:
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
index d5105d48..cdcc7415 100644
…--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
@@ -133,9 +133,9 @@
// If we are using Metal argument buffers, consume a fixed number
// of buffer indexes for the Metal argument buffers themselves.
- if (isUsingMetalArgumentBuffers()) {
+ //if (isUsingMetalArgumentBuffers()) {
_mtlResourceCounts.addArgumentBuffers(kMVKMaxDescriptorSetCount);
- }
+ //}
// Add push constants from config
_pushConstants.reserve(pCreateInfo->pushConstantRangeCount);
On Fri, Aug 11, 2023 at 9:51 PM Andrew Wolven ***@***.***> wrote:
I pushed some minor fixes for the Windows version, plus here are some
additional instructions for the Windows version. The rest of the
instructions are the same (after you do a git pull, git submodule update).
In file explorer right click sbcl.exe or wx86cl64.exe for CCL
select Properties
click "Change settings for All Users"
click "Change High DPI Settings"
check "Override high DPI scaling behavior,"
select "scaling performed by Application"
click Ok, click Apply, click Ok
On Fri, Aug 11, 2023 at 8:05 PM Andrew Wolven ***@***.***> wrote:
> cd krma
> git pull
> git submodule update --init --recursive
>
> On Fri, Aug 11, 2023 at 8:04 PM aykaramba ***@***.***>
> wrote:
>
>> Aha! That worked! Thank you kindly.
>>
>> —
>> Reply to this email directly, view it on GitHub
>> <#204 (comment)>,
>> or unsubscribe
>> <https://github.com/notifications/unsubscribe-auth/AABGMMMNOEY3MF3OSOOJ7O3XU3JBPANCNFSM6AAAAAATSSRWGI>
>> .
>> You are receiving this because you were mentioned.Message ID:
>> ***@***.***>
>>
>
|
Thanks for the updates... sorry it took me a while to respond.
As you had mentioned you had written a CL alternative to GLFW and since the code has conditionals I again tried running krma and ran into one more error which I couldn't figure out:
does the btw, what should be the correct way to add |
Yes, I forgot that you must push :noglfw on to *features* when you start
your lisp. That is correct. For #_XGetXCBConnection, that is a C symbol,
make sure you have /usr/include/X11/Xlib-xcb.h. The full list of include
files you must have is in krma/submodules/clui/x11/x11.lisp.
Regards,
Andrew Wolven
…On Sun, Aug 13, 2023 at 6:57 AM Kayomarz ***@***.***> wrote:
Thanks for the updates... sorry it took me a while to respond.
While trying to run krma, I came across a couple of errors.
1. One error seems related to an unqualified reference to defcfun
here: ifc/glfw/glfw.lisp#L866
<https://github.com/awolven/cl-vulkan/blob/master/ifc/glfw/glfw.lisp#L866>
2. Another error - Unknown CFFI type VKINSTANCE - which occurs near
the above quoted line. I couldn't figure how to fix this. This full error
is:
; in: CFFI:DEFCFUN ("glfwCreateWindowSurface" GLFWCREATEWINDOWSURFACE)
; (CFFI:DEFCFUN ("glfwCreateWindowSurface" $GLFW::GLFWCREATEWINDOWSURFACE)
; $GLFW::VKRESULT
; ($GLFW::INSTANCE $GLFW::VKINSTANCE)
; ($GLFW::WINDOW :POINTER)
; ($GLFW::ALLOCATOR (:POINTER (:STRUCT $GLFW::VKALLOCATIONCALLBACKS)))
; ($GLFW::SURFACE (:POINTER $GLFW::VKSURFACEKHR)))
;
; caught COMMON-LISP:ERROR:
; (during macroexpansion of (CFFI:DEFCFUN ("glfwCreateWindowSurface"
GLFWCREATEWINDOWSURFACE)
; ...))
; Unknown CFFI type VKINSTANCE
As you had mentioned you had written a CL alternative to GLFW and since
the code has conditionals +noglfw, I did a (pushnew :noglfw *features*)
which bypassed both the above glfw related errors.
I again tried running krma and ran into one more error which I couldn't
figure out:
; file:
/home/kayo/projects/kons-9-prj/krma/submodules/cl-vulkan/src/x11.lisp
; in: DEFUN CREATE-X11-WINDOW-SURFACE
; (NOFFI-C::|XGetXCBConnection| (CLUI:H VK::DISPLAY))
;
; caught ERROR:
; during macroexpansion of (#_XGetXCBConnection (H DISPLAY)). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; Undeclared identifier #_XGetXCBConnection
does the #_ prefix have any significance or is it a typo? did a brief
search about this to no avail.
btw, what should be the correct way to add :noglfw to *features*?
Thanks.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMJBJEKVJVXZRCK5HO3XVC6LZANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
It was missing. To install it I installed (on linux) For some reason,
I checked to make sure I have the full list of include files in krma/submodules/clui/x11/x11.lisp btw, is the |
now when you start lisp:
(push "~/krma/submodules/clui/" asdf:*central-registry*)
(asdf:oos 'asdf:load-op :clui :force t)
if that succeeds:
(push "~/krma/submodules/cl-vulkan/" asdf:*central-registry*)
(asdf:oos 'asdf:load-op :cl-vulkan :force t)
quit and restart lisp
(asdf:oos 'asdf:load-op :krma :force t)
quickload is really of limited utility: it fetches dependencies for you
but it will not recompile sources, you have to force these dependencies to
recompile
…-AKW
On Sun, Aug 13, 2023 at 11:11 PM Kayomarz ***@***.***> wrote:
make sure you have /usr/include/X11/Xlib-xcb.h
It was missing. To install it I installed (on linux) libx11-xcb-dev
For some reason, (ql:quickload :krma) still results in the error:
; file:
/home/kayo/projects/kons-9-prj/krma/submodules/cl-vulkan/src/x11.lisp
; in: DEFUN CREATE-X11-WINDOW-SURFACE
; (NOFFI-C::|XGetXCBConnection| (CLUI:H VK::DISPLAY))
;
; caught ERROR:
; during macroexpansion of (#_XGetXCBConnection (H DISPLAY)). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; Undeclared identifier #_XGetXCBConnection
I checked to make sure I have the full list of include files in
krma/submodules/clui/x11/x11.lisp
btw, is the #_ prefix related to clui?
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMM6NK4XERE37W6FU7DXVGQQPANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I evaluated your above suggestions and krma is working now! Thanks:) Evaluated
The line and sample text are successfully rendered.
It did occur me that recompiling might be needed after installing the missing I guess what you suggested above Will go ahead with the next steps, thanks for your patience. |
quickload is just a wrapper for (asdf:oos 'asdf:load :mysystem)
once a system is compiled the first time asdf considers it done and if
referenced as a dependency it will not recompile
consider this an addition to your tool belt
btw #_ is the reader macro for C-syntax for noffi.
…On Mon, Aug 14, 2023 at 12:31 AM Kayomarz ***@***.***> wrote:
I evaluated your above suggestions and krma is working now! Thanks:)
Evaluated (ql:quickload :krma) followed by your earlier steps:
(trivial-main-thread:call-in-main-thread #'(lambda () (krma:main
(make-instance 'krma::krma-test-application))))
(krma:add-2d-line 100 100 200 200 :color #xffff00ff)
(krma:add-text "Sample Text" 250 200)
The line and sample text are successfully rendered.
quickload is really of limited utility: it fetches dependencies for you
but it
will not recompile sources, you have to force these dependencies to
recompile
It did occur me that recompiling might be needed after installing the
missing
header /usr/include/X11/Xlib-xcb.h but I didn't know how to do that. So,
I did
a rm -rf ~/quicklisp and then reinstalled quicklisp but obviously that
must
not have worked. I now guess that is because the compiled output resides
in the
respective submodules, correct?
I guess what you suggested above (asdf:oos 'asdf:load-op ... :force t)
does the recompiling. I will need to dig into it to understand things
better.
Will go ahead with the next steps, thanks for your patience.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMM6AZUV4WPMYF5CXYTXVGZ3JANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Okay, I now understand. Thanks. |
What kind of video card do you have and what are the specs on your monitor?
…On Mon, Aug 14, 2023 at 12:45 AM Kayomarz ***@***.***> wrote:
Okay, I now understand. Thanks.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMJD3LO2B5G5LXOY3IDXVG3OFANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I have 2 home office setups. Both are laptops with 15.6" display (1920x1080),
I haven't done graphics intesive work since years. What kind of video card / GPU / monitor specs do you use? |
I have three machines:
- a macbook pro with an amd discrete gpu and an intel integrated gpu with a
retina display
- a windows pc with an AMD APU (I think it's a Vega 7) similar to yours
- a linux pc with an Nvidia Geforce 3060 Ti and intel integrated
external monitor:
- sony 4k, 144hz, 27"
I'm connecting the mac to the sony over a usb-c cable and I get (actually
5k, 60Hz).
I connect the windows pc via display port cable for 4k at 144Hz
I connect the linux pc via hdmi cable for 4k at 120Hz
I get the best video performance using the display port cable, totally
smooth animation with no artifacts. (144 fps)
Using the hdmi cable, I get some "jittering" artifacts when I animate
something fast. (120 fps)
With the usb-c cable video performance is good, but only 60 fps.
CLUI can detect your monitors and get the pixel width/height and mm
width/height, so you can compute pixels/millimeters for each monitor. I
haven't found a way to ask a window what monitor it is on yet, but I'm sure
it is doable. So for multi-monitor setups you would want to ask the window
what monitor it is on and get the pixels/millimeters of the monitor to draw
UI elements such as fonts and buttons. I also need to set up an event
where if the window changes monitors it will signal so the scaling can
change. Just need to do a little more research, it has to work for all
three platforms. Also I have noticed KDE multi monitor support is jenky.
…On Mon, Aug 14, 2023 at 6:26 AM Kayomarz ***@***.***> wrote:
I have 2 home office setups.
Both are laptops with 15.6" display (1920x1080),
integrated graphics, no video cards.
1.
Laptop with Intel Iris Xe Graphics, vram shared with 62G sys ram.
2 external monitors:
Benq EW3270U <https://www.benq.com/en-in/monitor/home/ew3270u.html>
31.5" 4K (VA panel)
Dell Ultrasharp U2412M 24" (1920x1200) (TFT LCD) (Mfg in 2013)
2.
Laptop with AMD Radeon Vega 7 graphics , vram 512MB dedicated, 32GB
total
1 external monitor:
Benq EW3270U <https://www.benq.com/en-in/monitor/home/ew3270u.html>
31.5" 4K (VA panel) (same as above)
I haven't done graphics intesive work since years.
What kind of video card / GPU / monitor specs do you use?
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMJ7SEHBURHV76MO34TXVIDPHANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
That's nice to have. My laptops don't have a display port, else i would have One of my laptops provides just 1 video out which is HDMI (the laptop also has a Another downside I have is that despite having a Benq 4K monitor I ashamedly run
Let me know if I can help in any way by testing or try things out on a multi |
Kayomarz, have you worked with krma yet?
…On Mon, Aug 14, 2023 at 11:56 PM Kayomarz ***@***.***> wrote:
I get the best video performance using the display port cable, totally
smooth
animation with no artifacts. (144 fps)
That's nice to have. My laptops don't have a display port, else i would
have
given it a try.
One of my laptops provides just 1 video out which is HDMI (the laptop also
has a
usb-c port but one which doesn't support video) and so I have only 1
external
Benq display. I can't connect another external display which I would
personally
liked to have (I have another Dell 24" display lying around). The laptop
graphics might be able support another external display and at one point I
did a
bit of research if I might be able to daisy chain two external displays but
there are too many unknowns as I would have to convert the only HDMI out
of the
laptop to Display port because the Dell displays do not have HDMI. iirc
the Dell
displays being relatively old (2013) have some limit on the daisy
chaining, so I
gave up in order to be able to get work done:)
Another downside I have is that despite having a Benq 4K monitor I
ashamedly run
my linux (xfce) desktop at 2K, else fonts and icons appear too small for
me and
I think in order to increase font and icon sizes they would need to be
setup
differently for different apps. I also remember setting a larger default
font on
some web browser but it caused some sites not to display as expected.
Running at
2K gets rid of these issues. Now that I'm mentioning it, I think I'll give
another go running at 4K having since I've just moved to a newer linux
distribution.
CLUI can detect your monitors and get the pixel width/height and mm
width/height, so you can compute pixels/millimeters for each monitor. I
haven't found a way to ask a window what monitor it is on yet, but I'm sure
it is doable. So for multi-monitor setups you would want to ask the window
what monitor it is on and get the pixels/millimeters of the monitor to draw
UI elements such as fonts and buttons. I also need to set up an event
where if the window changes monitors it will signal so the scaling can
change. Just need to do a little more research, it has to work for all
three platforms. Also I have noticed KDE multi monitor support is jenky.
Let me know if I can help in any way by testing or try things out on a
multi
monitor setup.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMMS5LYZ43VYCLMPEZ3XVL6QBANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I have not yet got a chance to work on it but I plan to do so this weekend. |
have started working on this and am a bit stuck: when loading both systems - Steps:
Nothing happens - below is the repl output:
On skipping step 3 [which loads kons-9], the krma app window successfully
Interestingly, on closing the app and re-running the below, nothing happens:
My first step was to add :krma to the :depends-on list in kons-9.asd so that |
btw on closing the krma standalone app window, a spew of messages occurs in the repl:
Then, a message similar to the following is printed over 120 times:
|
Like quickload, call-in-main-thread is of limited utility. It actually does
not play well with slime. After you start lisp and have loaded your asdf
systems go to your *inferior-lisp* buffer and type (krma:main
(make-instance 'kons9::kons-9)) that way the error will enter the slime
debugger.
…On Fri, Aug 18, 2023, 11:03 PM Kayomarz ***@***.***> wrote:
btw on closing the krma standalone app window, a spew of messages occurs
in the repl:
[vulkan] ObjectType: 1
Message: Validation Error: [
VUID-vkDestroyCommandPool-commandPool-parameter ] Object 0: handle =
0x56486bd09ac0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x106044c7 |
Invalid VkCommandPool Object 0x20000000002. The Vulkan spec states: If
commandPool is not VK_NULL_HANDLE, commandPool must be a valid
VkCommandPool handle (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkDestroyCommandPool-commandPool-parameter
)
[vulkan] ObjectType: 25
Message: Validation Error: [ UNASSIGNED-Threading-Info ] Object 0: handle
= 0x20000000002, type = VK_OBJECT_TYPE_COMMAND_POOL; | MessageID =
0x5d6b67e2 | Couldn't find VkCommandPool Object 0x20000000002. This should
not happen and may indicate a bug in the application.
[vulkan] ObjectType: 25
Message: Validation Error: [ UNASSIGNED-Threading-Info ] Object 0: handle
= 0x20000000002, type = VK_OBJECT_TYPE_COMMAND_POOL; | MessageID =
0x5d6b67e2 | Couldn't find VkCommandPool Object 0x20000000002. This should
not happen and may indicate a bug in the application.
[vulkan] ObjectType: 25
Message: Validation Error: [ UNASSIGNED-Threading-Info ] Object 0: handle
= 0x20000000002, type = VK_OBJECT_TYPE_COMMAND_POOL; | MessageID =
0x5d6b67e2 | Couldn't find VkCommandPool Object 0x20000000002. This should
not happen and may indicate a bug in the application.
[vulkan] ObjectType: 25
Message: Validation Error: [ UNASSIGNED-Threading-Info ] Object 0: handle
= 0x20000000002, type = VK_OBJECT_TYPE_COMMAND_POOL; | MessageID =
0x5d6b67e2 | Couldn't find VkCommandPool Object 0x20000000002. This should
not happen and may indicate a bug in the application.
Then, a message similar to the following is printed over 120 times:
[vulkan] ObjectType: 3
Message: Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0:
handle = 0x56486c651c90, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle =
0x6b000000006b, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0x71500fba |
OBJ ERROR : For VkDevice 0x56486c651c90[], VkBuffer 0x6b000000006b[] has
not been destroyed. The Vulkan spec states: All child objects created on
device must have been destroyed prior to destroying device (
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkDestroyDevice-device-00378
)
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMIKJLTSKUN4GZTRRTLXWA3H5ANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Thanks for the tip. In the inferior-lisp buffer, I evaluated In the bad case (both :krma and :kons-9 loaded), the error is:
To compare the arguments in the good case, I did a trace: (trace CLUI::compute-make-display-instance-arguments) Trace in the good case (only :krma loaded) prints:
While in bad case (:krma and :kons-9 loaded) it is called with args:
btw after looking at the appropriate method definition (which is below) it looks like the arguments in the bad case correspond to the below method, right? so it should not have resulted in file:
|
Usually if that happens it's caused by Clui being loaded after krma which
bashes krma's definitions.
…On Sat, Aug 19, 2023, 10:41 AM Kayomarz ***@***.***> wrote:
Thanks for the tip. In the inferior-lisp buffer, I evaluated
(trivial-main-thread:call-in-main-thread #'(lambda () (krma:main
(make-instance 'krma::krma-test-application))))
In the bad case (both :krma and :kons-9 loaded), the error is:
There is no applicable method for the generic function
#<STANDARD-GENERIC-FUNCTION CLUI::COMPUTE-MAKE-DISPLAY-INSTANCE-ARGUMENTS
(2)>
when called with arguments
(#<CLUI:DISPLAY {1006A03B73}> NIL NIL T T NIL NIL T :X11 T
:VULKAN T :OPENGL T).
[Condition of type SB-PCL::NO-APPLICABLE-METHOD-ERROR]
To compare the arguments in the good case, I did a trace:
(trace CLUI::compute-make-display-instance-arguments)
Trace in the good case (only :krma loaded) prints:
0: (CLUI::COMPUTE-MAKE-DISPLAY-INSTANCE-ARGUMENTS #<CLUI:DISPLAY
{1003884303}> NIL NIL NIL T NIL NIL T :X11 T :VULKAN T)
0: CLUI::COMPUTE-MAKE-DISPLAY-INSTANCE-ARGUMENTS returned
(# :X11 T :VULKAN T)
While in bad case (:krma and :kons-9 loaded) it is called with args:
0: (CLUI::COMPUTE-MAKE-DISPLAY-INSTANCE-ARGUMENTS #<CLUI:DISPLAY
{1006A03B73}> NIL NIL T T NIL NIL T :X11 T :VULKAN T :OPENGL T)
btw after looking at the appropriate method definition (which is below) it
looks like the arguments in the bad case correspond to the below method,
right? so it should not have resulted in There is no applicable method
for the generic function right> does this mean that for some reason the
method for the generic function is no longer available when :kons-9 is
also loaded?
file: clui/compute-concrete-class.lisp
(defmethod compute-make-instance-arguments ((protocol display)
&rest initargs &key
(cocoa nil)
(metal nil)
(opengl nil)
(vulkan nil)
(wayland nil)
(win32 nil)
(x11 nil)
&allow-other-keys)
(apply #'compute-make-display-instance-arguments protocol
cocoa
metal
opengl
vulkan
wayland
win32
x11
initargs))
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMJV5OASDV5JOO7I6F3XWDNDRANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
hmm... if it's related to bashing of definitions, there must be warnings to look |
CLUI thinks it is supposed to create an opengl capable display object
because you must have cl-opengl loaded. You don't need to load cl-opengl,
but in order to load kons-9 you need to #+opengl or #-vulkan all the
functions which use symbols in the gl package. You'll be replacing those
anyway. That's the recommended course of action. Another alternative, but
not recommended, is to define your own compute-make-display-instance method
which allows opengl but creates a vulkan display anyway. But then you will
segfault whenever an opengl function is run.
…On Sat, Aug 19, 2023 at 12:23 PM Kayomarz ***@***.***> wrote:
hmm... if it's related to bashing of definitions, there must be warnings
to look
out for... I will continue to debug this further tomorrow.
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMML3GUFSIO5SHQWPZJTXWDZCBANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
understood - I will get started using #+opengl |
btw other than conditional reader macros like #+opengl are there any other |
btw I have a trivial question. A few comments above you had suggested:
I was wondering what was the reason to restart lisp. Was it just to clear out |
noffi can have problems compiling the foreign function database if it
already exists. I think I have a call in a file which loads to clear it
out, but it's better to start from scratch.
…On Sat, Aug 19, 2023 at 10:19 PM Kayomarz ***@***.***> wrote:
btw I have a trivial question.
A few comments above
<#204 (comment)>
you had suggested:
(asdf:oos 'asdf:load-op :clui :force t)
if that succeeds:
(push "~/krma/submodules/cl-vulkan/" asdf:*central-registry*)
(asdf:oos 'asdf:load-op :cl-vulkan :force t)
quit and restart lisp
(asdf:oos 'asdf:load-op :krma :force t)
I was wondering what was the reason to restart lisp. Was it just to clear
out
any inconsistent state after forcing compilation or any other reason?
—
Reply to this email directly, view it on GitHub
<#204 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABGMMLZ6B6WQHZUYTCAPR3XWF63VANCNFSM6AAAAAATSSRWGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
#+ and #- don't conditionally compile code, they conditionally read code
(or rather allow/disallow code to be read)
…On Sat, Aug 19, 2023 at 10:34 PM Andrew Wolven ***@***.***> wrote:
noffi can have problems compiling the foreign function database if it
already exists. I think I have a call in a file which loads to clear it
out, but it's better to start from scratch.
On Sat, Aug 19, 2023 at 10:19 PM Kayomarz ***@***.***>
wrote:
> btw I have a trivial question.
>
> A few comments above
> <#204 (comment)>
> you had suggested:
>
> (asdf:oos 'asdf:load-op :clui :force t)
> if that succeeds:
> (push "~/krma/submodules/cl-vulkan/" asdf:*central-registry*)
> (asdf:oos 'asdf:load-op :cl-vulkan :force t)
> quit and restart lisp
> (asdf:oos 'asdf:load-op :krma :force t)
>
> I was wondering what was the reason to restart lisp. Was it just to clear
> out
> any inconsistent state after forcing compilation or any other reason?
>
> —
> Reply to this email directly, view it on GitHub
> <#204 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AABGMMLZ6B6WQHZUYTCAPR3XWF63VANCNFSM6AAAAAATSSRWGI>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
understood, thanks |
Andrew, thanks for your help in getting started. I've gone through |
@kaveh808 @awolven apologies for no updates on this task. My daugther was unwell |
No worries at all @kayomarz I'm glad your daughter is well now. |
The vulkan port of kons-9 is currently github.com/awolven/kons-9 in the krma branch. Unfortunately there have been over 50 commits to the opengl side of things since the vulkan port was introduced. To merge this with kons-9 we need somebody willing to do the work. This is my suggestion for how to handle this.
after this is done kaveh will have to get the text and colors to his satisfaction
kaveh posted the documentation url in another issue
bugs/enhancements requests in krma can be sent to me to resolve
then we can test the vulkan (krma) branch until it is ready for prime time
if you are working on darwin i have a moltenvk patch for you
The text was updated successfully, but these errors were encountered: