Skip to content
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

build fastdebug without jcef #471

Open
wants to merge 1,287 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1287 commits
Select commit Hold shift + click to select a range
402c41e
JBR-7151 Test PropertyPermissionOnEDT and others fail with ExceptionI…
mkartashev May 15, 2024
8c51569
Update README.md
vprovodin May 17, 2024
cdc2d2b
JBR-7117 Set initial display mode after test execution
sshelomentsev May 7, 2024
f511276
update exclude list on results of 21.0.3_b453.2 test runs
vprovodin May 19, 2024
68d23ac
Update README.md
vprovodin May 20, 2024
e44eec9
JBR-7128 Use the correct WmSize event type for JFrame moved to anothe…
dmitriimorskii May 23, 2024
1112b15
Update README.md
vprovodin May 27, 2024
eeb3839
JBR-7134: Fix InputMethodTests on macOS
tsarn May 27, 2024
bb86e44
JBR-7194: extension-based filters in native file dialogs
trespasserw May 30, 2024
9655e13
JBR-6357 JBR API v3
YaaZ May 30, 2024
bce3fd5
JBR-5615 add `sun.java2d.logDisplays` VM option
YaaZ May 28, 2024
031136a
JBR-7170: implement FPS counters for metal using callbacks from MTLLa…
bourgesl May 24, 2024
0933952
JBR-7170: added explicit @available for addPresentedHandler()
bourgesl Jun 1, 2024
1f2808f
JBR-5761 Make error printing more robust during early stages of VM in…
mkartashev Jun 21, 2023
36c740d
Update README.md
vprovodin Jun 4, 2024
60bd77b
update exclude lists removing lines related to fixed issues
vprovodin Jun 5, 2024
8df6bf0
JBR-7133: JBR API for IME replacement range on macOS
tsarn Jun 5, 2024
8913798
Set jbr-api version to 1.0.0
sshelomentsev Jun 5, 2024
4bb5a46
JBR-7170: fixed NPE if peer is null
bourgesl Jun 7, 2024
891a764
fixup! JBR-7263 introduce /othervm for the tests specifying -Djetbrai…
vprovodin Jun 7, 2024
7f79e50
update exclude list on results of 21.0.3_b479 test runs
vprovodin Jun 7, 2024
551ed1b
JBR-5405: implementation of direct raster loading for VolatileImage
artemm-bochkarev Oct 4, 2023
5ad8351
Update README.md
vprovodin Jun 11, 2024
ddcd889
JBR-6764: Work around IMEs breaking on macOS due to macOS JavaRuntime…
tsarn Jun 11, 2024
4fcedbd
JBR-7157: Alt+Shift+Enter sends KEY_TYPED Event.
NikitkoCent Jun 10, 2024
6ac1c2f
JBR-4912 test moved from JBR repository
sshelomentsev Jun 12, 2024
fd98553
JBR-6764: Add null check on hostAdapterLocator
tsarn Jun 12, 2024
57e6e45
JBR-5063 macOS: SIGILL at [libsystem_kernel] __kill in java.lang.Ille…
avu Jun 11, 2024
df0f2fd
JBR-6696: added MTLContext CVDisplayLink checks, improved MTLLayer dr…
bourgesl May 15, 2024
ea021ca
Update README.md
vprovodin Jun 18, 2024
c7d01d8
Update README.md
vprovodin Jun 18, 2024
838e993
JBR-6696: fix drawableId usage + revert PrinterJob changes (non-appki…
vprovodin Jun 17, 2024
4c124f7
Update README.md
vprovodin Jun 24, 2024
ee053ec
JBR-4530: make opengl & metal handle colorMatching on non-SRGB profil…
bourgesl Jun 14, 2024
99453f5
Update README.md
vprovodin Jun 26, 2024
2255599
update exclude list on results of 21.0.3_b517.1 test runs
vprovodin Jul 2, 2024
ed2639c
JBR-4430 Fixed execution permissions on Linux
artemm-bochkarev Feb 29, 2024
1629c18
JBR-3323 Exclude parts of VM code from sanitizer checks
mkartashev Apr 16, 2021
e4195b2
JBR-6830 Poor performance with KDE Plasma 6 X11
mkartashev Jun 27, 2024
b62585b
JBR-5405: supported BufImgSurfaceData
artemm-bochkarev Jul 9, 2024
a0e81cd
JBR-6545 java/awt/Mixing/AWT_Mixing/JProgressPaneOverlapping.java fai…
avu Jul 16, 2024
3654275
JBR-7438 tune updateCursorImmediately method
dmitriimorskii Jun 5, 2024
acba27b
JBR-7449: Fix press-and-hold cancel keys not being swallowed by JBR
tsarn Jul 29, 2024
579d269
JBR-6588: JBR API for inspecting certain properties of KeyEvents
tsarn Jun 5, 2024
6cd111f
Fix rendering of HTML list dots + better vertical align for them.
yeswolf Sep 8, 2017
65cdb24
Update jbr-api version to 1.0.2
sshelomentsev Aug 2, 2024
a8be31a
JBR-5956 Provide more details on assertion failure
mkartashev Aug 6, 2024
b1297af
JBR-6772 handled case with adding new timers after VM was suspended
dmitriimorskii Aug 7, 2024
8e473bf
JBR-7460: fixed (macos) MTLTexturePool GC implementation to release t…
bourgesl Aug 9, 2024
1387822
JBR-7426: Fix cancelling press-and-hold causing some future key event…
tsarn Aug 9, 2024
e264227
JBR-7460: fixed (macos) MTLTexturePool GC implementation: minor synta…
bourgesl Aug 13, 2024
eeb521a
Update README.md
vprovodin Aug 14, 2024
400ad5d
JBR-5318 add Github workflow usage for pull requests pre-commit testing
sshelomentsev Feb 28, 2023
c97426f
JBR-7517 build JBR artefacts with CDS archives
vprovodin Aug 19, 2024
0deab43
JBR-7529: Explicitly check for press-and-hold in performKeyEquivalent
tsarn Aug 22, 2024
e2024bc
JBR-7456 add regression test checking if implementations of all avail…
vprovodin Aug 23, 2024
1fd71ce
JBR-7532 upgrade alpine up to 3.14, specify versions of installing pa…
vprovodin Aug 23, 2024
aaf4507
Update README.md
vprovodin Aug 26, 2024
2a67dca
Initial version of WLToolkit and Vulkan support
avu Aug 20, 2021
5ce28f6
Wayland: fixed build errors with older versions of Wayland
mkartashev Apr 18, 2023
b917aa8
Wayland: fixed build errors on macOS
mkartashev Apr 18, 2023
9cbc30a
Wayland: fix AWT initialization on macOS
mkartashev Apr 21, 2023
a2a41b3
JBR-5655 java/awt/Toolkit/Wayland/WaylandToolkit.java: WLToolkit not …
mkartashev May 19, 2023
38afba9
JBR-5657 Wayland: sometimes there's a deadlock at the start
mkartashev May 20, 2023
9969f6c
JBR-5658 Wayland: incorrect scaling of window content
mkartashev May 24, 2023
e9fb0e3
JBR-5666 Wayland: WLToolkit doesn't work with weston
mkartashev May 31, 2023
ccb65d1
JBR-5661 Wayland: implement heavy-weight popup windows
mkartashev May 30, 2023
78f4e98
JBR-5645 Provide basic classes for Vulkan rendering pipeline
avu Nov 11, 2022
55bdb10
JBR-5861 Wayland: minimum necessary stubs to run IDEA
mkartashev Jul 21, 2023
f64eede
JBR-5896: Fix WLToolkit being instantiated twice
tsarn Aug 10, 2023
20ad812
JBR-5900: Fix deadlock when enabling the Wakefield extension
tsarn Aug 10, 2023
3a2b822
JBR-5676: Support emulating input events in Wakefield
tsarn Aug 15, 2023
39a1200
Regenerate wakefield-client-protocol using an older wayland-scanner t…
tsarn Aug 17, 2023
c9fcc4b
JBR-5962 Wayland: fix the main event loop to allow for secondary queues
mkartashev Aug 21, 2023
f5b12ea
JBR-5963: Fix RobotKeyboard test and implement getLockingKeyState
tsarn Aug 24, 2023
8f00a55
JBR-5968 Wayland: support PERPIXEL_TRANSLUCENT
mkartashev Sep 2, 2023
fcd0fe1
JBR-6032 WLToolkit: Uninitialized WLComponentPeer sends paint requests
avu Sep 5, 2023
11d7f2f
JBR-6032 WLToolkit: Uninitialized WLComponentPeer sends paint requests
avu Sep 6, 2023
f98467b
JBR-5973 Implement rendering of no-AA shapes with Vulkan pipeline
YaaZ Aug 8, 2023
d5c6d29
JBR-6036 Wayland: Cannot invoke "java.awt.Component.getWidth()" becau…
mkartashev Sep 6, 2023
4a316d1
JBR-6045 WLToolkit(Vulkan): Add options to select physical device
avu Sep 7, 2023
8c72747
JBR-6045 WLToolkit(Vulkan): Add options to select physical device
avu Sep 8, 2023
df4063d
JBR-6025 Wayland: miscellaneous small improvements
mkartashev Sep 4, 2023
b4cc6cf
JBR-5989 Wayland: jdk_awt_wayland test group
mkartashev Sep 6, 2023
625162b
JBR-6071 Alpine Linux compilation: error: implicit declaration of fun…
mkartashev Sep 15, 2023
14d4044
JBR-5961 Wayland: can't switch between projects using menu
JB-Dmitry Sep 8, 2023
46fe13f
JBR-5961 Wayland: can't switch between projects using menu
JB-Dmitry Sep 15, 2023
21bf306
JBR-5961 Wayland: can't switch between projects using menu
JB-Dmitry Sep 25, 2023
848d98e
JBR-6117 Wayland: JVM shutdown hang
mkartashev Sep 27, 2023
b390f5f
JBR-6138 Wayland: utilize gtk_shell1 protocol to mark dialogs as modal
mkartashev Sep 28, 2023
7091097
JBR-6145 [Wayland toolkit] Popup windows aren't focusable
JB-Dmitry Sep 29, 2023
f5f4dc3
JBR-5857 Wayland: implement clipboard support
mkartashev Jul 20, 2023
ec2f7e4
JBR-6158 Cannot build jbr21 with wayland toolkit on wsl2
avu Oct 2, 2023
e805b0d
JBR-6144 Build JBR with Vulkan support
YaaZ Sep 29, 2023
f7b5c92
JBR-6183 Wayland: clipboard-related exception in headless environment
mkartashev Oct 10, 2023
5a51b68
JBR-6207 Wayland: many popup windows positioned incorrectly
mkartashev Oct 17, 2023
2fc531e
JBR-5977 Wayland: make undecorated windows natively resizeable
mkartashev Oct 17, 2023
da02003
JBR-6209 Wayland: popup windows cannot be moved
mkartashev Oct 18, 2023
5067240
JBR-6212 Wayland: app does not terminate upon Wayland protocol error
mkartashev Oct 31, 2023
7309f3d
JBR-6253 Wayland: can't run in weston because of xdg_wm_base version 3
mkartashev Nov 1, 2023
07f44f6
JBR-5965 Wayland: implement SplashScreen
dmitriimorskii Aug 9, 2023
b2ef6d5
JBR-5678: Refactor Wayland keyboard support
tsarn Nov 10, 2023
b853f9d
JBR-6276 Wayland: WLToolkit logs too much
mkartashev Nov 10, 2023
9c3789a
JBR-6313 Wayland: pasting from clipboard doesn't always work
mkartashev Nov 20, 2023
d8ce053
JBR-6321 Wayland: popup windows do not respect screen bounds
mkartashev Nov 20, 2023
0289a48
JBR-6316 Wayland: WLSMSurfaceData.getReplacement() throws UOE
mkartashev Nov 21, 2023
d4085c7
JBR-6276 Wayland: WLToolkit logs too much
mkartashev Nov 24, 2023
22d6169
JBR-6213 Wayland: removed blurring on cursor on multiple monitors wit…
dmitriimorskii Nov 8, 2023
6ea344b
JBR-6391 Wayland: memory indicator tooltip flickers
mkartashev Dec 5, 2023
56b767a
JBR-6416 Wayland: IDEA maximize button out of sync sometimes
mkartashev Dec 12, 2023
104bb6b
JBR-5961 Wayland: can't switch between projects using menu
JB-Dmitry Dec 15, 2023
55bdbb8
JBR-6445 Prepare RepaintManager code for displaySync=false
avu Dec 19, 2023
9aea62e
JBR-6372 Wayland:
dmitriimorskii Nov 22, 2023
231b961
JBR-6452 Wayland: measure and improve surface buffer management
mkartashev Dec 21, 2023
c3ca2da
JBR-6452 Wayland: avoid copying entire surface buffers
mkartashev Jan 3, 2024
0b187d9
JBR-6559 Wayland: popups may stop working after a while
mkartashev Jan 22, 2024
4a085fb
JBR-6547 WLToolkit: no app icon in GNOME
mkartashev Jan 23, 2024
fcd3044
JBR-6467 Wayland: java/awt/GraphicsConfiguration/NormalizingTransform…
mkartashev Feb 8, 2024
8675f72
JBR-6469 Wayland: java/awt/image/ColorModel/DrawCustomColorModel.java…
mkartashev Feb 7, 2024
05759d9
JBR-6598 Wayland: window gets un-maximized after switching
mkartashev Jan 31, 2024
2adeae2
JBR-6617 Wayland: java/awt/Frame/HugeFrame/HugeFrame.java crashes JVM
mkartashev Feb 1, 2024
94b0519
JBR-6722 OutOfMemoryError: Failed to allocate Wayland surface buffer
mkartashev Feb 21, 2024
567bcfb
JBR-6736 libwakefield crashes weston
mkartashev Feb 21, 2024
32c998d
JBR-6519 Linux: SIGSEGV at [libwayland] wl_proxy_get_version
mkartashev Feb 19, 2024
f96497a
JBR-6504 Wayland: optional Robot capability to peek at current window…
mkartashev Feb 28, 2024
09e0730
JBR-6783 MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMous…
mkartashev Mar 5, 2024
471cfd7
JBR-6787 WLToolkit/wsl: crash in WLComponentPeer.setCursor
avu Mar 6, 2024
4db2a18
JBR-6814 Wayland: support sun.java2d.uiScale property
mkartashev Mar 7, 2024
ee60051
JBR-6448 Wayland: IDEA window looks pixelated after monitors scale wa…
mkartashev Mar 18, 2024
d1a0f87
JBR-6884 SIGSEGV in Java_sun_java2d_wl_WLSMSurfaceData_pixelsAt
mkartashev Mar 25, 2024
6fee0b1
JBR-6895 Wayland: cursor changes to resize at edges even when window …
mkartashev Mar 26, 2024
f55658b
JBR-6920 Wayland: some IDEA popups positioned incorrectly
mkartashev Apr 2, 2024
4ced3db
JBR-6926 Wayland: fonts are aliased/grainy on first start
mkartashev Apr 5, 2024
b0e7d6a
JBR-7010 Wayland: Swing window resizing is not smooth enough
mkartashev Apr 16, 2024
287895e
JBR-7044: Reset clickCount on mouse moves [WLToolkit]
tsarn Apr 23, 2024
c95937c
JBR-6434: Fix pointer leave also resetting the keyboard modifiers [WL…
tsarn Apr 24, 2024
56ed964
JBR-6848: Support extra mouse buttons for navigation [WLToolkit]
tsarn Apr 24, 2024
86ab85e
JBR-7063: Make .getKeyChar() report chars in KEY_PRESSED/KEY_RELEASED…
tsarn Apr 26, 2024
26e6051
JBR-7058 Wayland: IDE hang on the popup appearance
mkartashev May 2, 2024
8ed52dc
JBR-6576 Wayland: exception when double-clicking dialog title bar
mkartashev May 6, 2024
58b1cca
JBR-7047 Deadlock on git fetch on Wayland
mkartashev May 3, 2024
d6fb4c1
JBR-7028 Implement FPS counter on Linux
mkartashev Apr 25, 2024
2e98741
JBR-7158 Wayland: scale with wp_viewport instead of buffer scale
mkartashev May 8, 2024
a3c8432
JBR-7198 Wayland: jvm crashes under KDE
mkartashev May 23, 2024
3b267de
JBR-7201 Wayland: update copyright in files generated by wayland-scanner
mkartashev May 24, 2024
ac67532
JBR-7209 Wayland: modernize window decorations
mkartashev May 25, 2024
c7e0b15
JBR-6543 Vulkan: migrate current code to pure c (#267)
avu May 29, 2024
960598c
JBR-7206 Wayland: Stylepad demo flickers when resizing on KDE
mkartashev May 24, 2024
8eee8b2
JBR-7202 wayland: memory leak when resizing windows
mkartashev May 30, 2024
05a2395
JBR-7237 Separate display connect from WLToolkit initialization
mkartashev Jun 3, 2024
7e63e9d
JBR-7256 Vulkan: Implement FILL_PARALLELOGRAM primitive for flat colo…
avu Jun 4, 2024
29d8e3b
JBR-7072 Wayland: clicks on items of floating context menus are ignor…
mkartashev Jun 14, 2024
b3a8f7f
JBR-7237 Fix cyclic dependency of Wayland and Vulkan initialization (…
YaaZ Jun 14, 2024
f1a8c34
JBR-7307 Add stub for VKInstance.initNative with disabled Vulkan.
YaaZ Jun 14, 2024
925002b
JBR-7305 Vulkan: Implement FILL_SPANS primitive for flat color rendering
avu Jun 13, 2024
18c72c9
JBR-7308 Vulkan: Build failure in vulkan enabled builds
avu Jun 14, 2024
a9dc622
JBR-7290 Wayland: window permanently looses focus after invoking Go T…
mkartashev Jun 14, 2024
f6fab18
JBR-7254 Impossible to copy/paste files in Project tree
mkartashev Jun 18, 2024
f5557bd
JBR-7259 Find Usages popup can't be resized under Wayland
mkartashev Jun 21, 2024
678bca8
JBR-7390 Wayland: need better headless exception message
mkartashev Jul 11, 2024
6a43033
JBR-7419 Refactor Vulkan code
YaaZ Jul 19, 2024
8fe1204
JBR-7420 Vulkan: Implement DRAW_PARALLELOGRAM primitive for flat colo…
avu Jul 29, 2024
39ca1e1
JBR-7452 Vulkan: Reuse VkRenderPass for multiple renderers (#428)
avu Aug 1, 2024
7123490
JBR-7397 CLion 2024.2-EAP/Wayland crashes on startup with Miriway
mkartashev Jul 12, 2024
04c4416
JBR-7397 Wayland: make certain interfaces optional
mkartashev Aug 7, 2024
8151404
JBR-7313 Wayland: error: xdg_surface buffer does not match the config…
mkartashev Aug 12, 2024
2d618a1
JBR-7461: Implement VKTexturePool for the linux vulkan pipeline:
bourgesl Jul 26, 2024
fd3a4dd
JBR-7478: Fix wrong timestamps on KEY_TYPED events [WLToolkit]
tsarn Aug 13, 2024
b598793
JBR-7501 Wayland: SurfaceData.flush() method is mis-used
mkartashev Aug 15, 2024
bfbee3b
JBR-7516 Wayland: DamageList_AddList: Assertion `list != add' failed
mkartashev Aug 20, 2024
bcf4f3c
JBR-7493 Wayland: can't start in maximized state on WSL
mkartashev Aug 21, 2024
38537fb
JBR-7016 IDEA 2024.2 Wayland: UI Crash when selecting Code and pressi…
mkartashev Aug 21, 2024
551c963
JBR-7126 add more possible names for cursor arrow icon
dmitriimorskii Aug 22, 2024
94aa3c0
JBR-7569 Removed VMA-Hpp (#450)
YaaZ Aug 28, 2024
ac78049
JBR-7568 Vulkan: Refactor VKLogicalDevice into VKDevice (#449)
YaaZ Aug 28, 2024
7be55ac
JBR-7570 Implemented ring buffer. Added lazy implicit initialization …
YaaZ Aug 28, 2024
0d36d14
Fix WindowMoveService on Wayland
YaaZ Jun 6, 2024
4b10250
Added proper copyright headers
mkartashev May 23, 2024
62138ce
JBR-6468 Wayland: java/awt/datatransfer/MimeFormatsTest.java fails by…
mkartashev Feb 5, 2024
3ca726b
JBR-6763 Wayland: application crashes when popup closed
xdom Mar 18, 2024
c6f9f99
JBR-5615 added missing part for WLToolkit
mkartashev Aug 28, 2024
3f6497d
Wayland: Fixed build errors after rebasing on JDK24
mkartashev Aug 28, 2024
e23d0b2
JBR-5973 Vulkan: Fix validation errors (#452)
YaaZ Aug 29, 2024
5ca5228
JBR-7588 Metal: Reuse MTLContext for all GCs of the same GPU
avu Aug 30, 2024
e52b132
Update README.md
vprovodin Sep 3, 2024
0a3742d
JBR-7481 Work around mouse entered/exited bug
Aug 12, 2024
f77417a
JBR-7484 Update the cursor on mouse entered/exited
Sep 3, 2024
49c206d
JBR-7594 Check for LWCToolkit in JBR TextInput API
tsarn Sep 5, 2024
272a248
JBR-7586 Fix title click ungrab when an active user component is clicked
Sep 2, 2024
b859c76
Update README.md
vprovodin Sep 10, 2024
3960497
JBR-7459: Wayland: touchpad scrolling is too sensitive.
NikitkoCent Aug 2, 2024
522f663
JBR-5673: Wayland: support touch scrolling.
NikitkoCent Aug 4, 2024
4eb8640
JBR-7600 Provide ability to add messages to fatal error log
mkartashev Sep 9, 2024
98e2280
JBR-7616: improved MTLRenderQueue exception handling
bourgesl Sep 11, 2024
878c6ed
JBR-7556 Check negative glyphID in HBShaper
YaaZ Sep 16, 2024
94ade13
Update README.md
vprovodin Sep 18, 2024
12b925a
JBR-7572 Vulkan: Implement vertex buffer pool
YaaZ Sep 4, 2024
1caa363
JBR-7644 Vulkan: Move barrier state tracking from surface into image
YaaZ Sep 5, 2024
10de010
JBR-7572 Bring back VKBuffer functions
YaaZ Sep 19, 2024
d4170b3
Update README.md
vprovodin Sep 23, 2024
c80c7ea
Update README.md
vprovodin Sep 23, 2024
cbbb639
JBR-7616: added ThreadUtilities.lwc_plog(env, formatMsg, ...) to use …
bourgesl Sep 11, 2024
02509a5
JBR-7567 apply standard measurement scripts to Dacapo
vprovodin Aug 28, 2024
2c318ad
JBR-7566 apply standard measurement scripts to Render
vprovodin Sep 6, 2024
4c8a701
JBR-7675: Respect disabling key repeat [WLToolkit]
tsarn Sep 26, 2024
6059364
JBR-7616: fixed type (str)
bourgesl Sep 27, 2024
7c60cce
JBR-7511 migrate build platforms to OL8
vprovodin Sep 3, 2024
cd8246a
JBR-7662: Fix key repeat manager sometimes not cancelling properly [W…
tsarn Sep 30, 2024
8110c13
JBR-7672: Only abort key repeat when the key that is being repeated i…
tsarn Sep 30, 2024
820dcd9
Update README.md
vprovodin Sep 30, 2024
1e8df9c
JBR-7392: Use NIO FS in ZipFile
knisht Jul 8, 2024
74a6e9d
JBR-7466 Exception on VM startup with `-Djava.util.zip.use.nio.for.zi…
knisht Aug 5, 2024
a796377
JBR-1061 .attach_pid files in the working dir - flag to put .attach f…
gorrus Apr 5, 2019
1aea19e
JBR-1354 com/sun/tools/attach/PermissionTest.java: access denied ("ja…
gorrus Apr 9, 2019
2e595af
JBR-7677 Vulkan: Implement Graphics.drawImage()
avu Aug 1, 2024
8321acf
JBR-7504 WLToolkit - Middle click paste doesn't work properly when pa…
mkartashev Sep 17, 2024
3bc7978
JBR-7504 Use accurate event serial number with the clipboard
mkartashev Sep 19, 2024
087341b
JBR-7700 Route java.io file system operations via java.nio.file
mkartashev Sep 26, 2024
bff3d51
JBR-7524: Workaround for showing window tiling actions when hovering …
tsarn Oct 1, 2024
78da26a
JBR-7574 Vulkan: Implement memory allocator
YaaZ Sep 3, 2024
0e07461
Update README.md
vprovodin Oct 6, 2024
60bbf86
JBR-7575 Vulkan: Implement composites (blending and XOR mode)
YaaZ Sep 3, 2024
232f938
JBR-7564 Vulkan: Fix HIDPI and multi-monitor scenarios
YaaZ Aug 26, 2024
a81a715
JBR-7563 Vulkan: Implement MASK_FILL
YaaZ Aug 27, 2024
a920515
JBR-7645 Vulkan: Implement hash table for pipeline sets
YaaZ Sep 5, 2024
a9595ad
JBR-7565 Vulkan: Implement clip
YaaZ Sep 6, 2024
7b102ab
Update README.md
vprovodin Oct 8, 2024
15370ef
JBR-7724 Add vulkan support to the performance scripts
avu Oct 8, 2024
55d6cdd
JBR-7579 Fix SurfaceManager.cacheMap retaining strong references.
YaaZ Oct 9, 2024
55860e4
JBR-5448: Return all shortcuts from readSystemHotkeys
tsarn Oct 9, 2024
1fa1a43
JBR-7673 Cleanup docker scripts
YaaZ Sep 26, 2024
de5826a
JBR-7653 Prepare Docker images for Vulkan builds
YaaZ Sep 26, 2024
84a44ba
JBR-5726: Report 'Move focus to the previous window in application' s…
tsarn Oct 10, 2024
2f6d69a
JBR-5690: Reload next window shortcut when it changes
tsarn Oct 10, 2024
c79e089
JBR-6324: JBR API for System Shortcuts (macOS)
tsarn Oct 10, 2024
a6e19b1
JBR-7721 Copying from IntelliJ in pure Wayland on ChromeOS confuses U…
mkartashev Oct 14, 2024
9d0804d
Update README.md
vprovodin Oct 15, 2024
18d855b
JBR-7748 java/awt/font/JNICheck/FreeTypeScalerJNICheck.java: JNI call…
mkartashev Oct 15, 2024
322cb58
Update README.md
vprovodin Oct 16, 2024
3422ce3
JBR-7544 Wayland: Cannot resize window to more that 3500px vertically
mkartashev Oct 14, 2024
f246ef7
JBR-4725 File dialog modality
YaaZ Oct 17, 2024
fc1818e
JBR-7749 Settings popup invoked from the main toolbar appears misalig…
mkartashev Oct 15, 2024
54a2ee7
JBR-7764: Disable window decorations in test/jb/java/awt/Window/Resto…
tsarn Oct 18, 2024
40979d6
JBR-7766 Fix VKTexturePool OOM.
YaaZ Oct 18, 2024
6f44ef9
JBR-7302 added additional emptiness check in getGlyphOutlineBounds
dmitriimorskii Oct 23, 2024
a49d6d7
JBR-7726 X11 toolkit: Dialog buttons rendering black rectangle after …
mkartashev Oct 23, 2024
846f937
JBR-7663 Wayland: add wayland-protocols to the docker files
mkartashev Oct 11, 2024
df2fc89
JBR-7663 Wayland: generate proxy code with wayland-scanner on the fly
mkartashev Oct 9, 2024
2e26be9
JBR-7663 Wayland: make gtk-shell1 protocol support optional
mkartashev Oct 11, 2024
376e2ae
JBR-7797 build fastdebug without jcef
vprovodin Oct 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
226 changes: 226 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)

# Welcome to JetBrains Runtime!

JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It supports enhanced class redefinition ([DCEVM](https://ssw.jku.at/dcevm/)),
features optional [JCEF](https://github.com/JetBrains/jcef), a framework for embedding Chromium-based browsers,
includes a number of improvements in font rendering, keyboards support,
windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration
and bugfixes not yet present in OpenJDK.

> **_NOTE_**: This is a **development** branch that is periodically synchronized with
> the [OpenJDK master](https://github.com/openjdk/jdk/tree/master) branch.
>
Release builds are based on these branches:
* [jbr11](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr11) (JDK 11)
* [jbr17](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr17) (JDK 17)
* [jbr21](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr21) (JDK 21)

Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).

## Releases based on JDK 21

| IDE Version | Latest JBR | Date Released |
|-------------|---------------------------------------------------------------------------------------------------------|---------------|
| 2024.3 | [21.0.4-b631.2](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.4b631.2) | 15-Oct-2024 |
| 2024.2 | [21.0.4-b509.26](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.4b509.26) | 08-Oct-2024 |
| 2024.1 | [21.0.2-b346.3](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.2b346.3) | 30-Jan-2024 |

## Releases based on JDK 17

| IDE Version | Latest JBR | Date Released |
|-------------|--------------------------------------------------------------------------------------------------------|---------------|
| 2024.2 | [17.0.11-b1312.2](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.11b1312.2) | 18-Jun-2024|
| 2024.1 | [17.0.12-b1207.37](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.12b1207.37) | 15-Oct-2024|
| 2023.3 | [17.0.12-b1087.25](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.12b1087.25) | 02-Sep-2024|
| 2023.2 | [17.0.12-b1000.54](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.12b1000.54) | 02-Sep-2024|
| 2023.1 | [17.0.10-b829.27](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.10b829.27) | 21-Mar-2024 |
| 2022.3 | [17.0.6-b653.34](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b653.34) | 28-Feb-2023 |
| 2022.2 | [17.0.6-b469.82](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b469.82) | 06-Mar-2023 |

## Releases based on JDK 11

| IDE Version | Latest JBR | Date Released |
|-------------|-------------------------------------------------------------------------------------------------------|---------------|
| 2022.1 | [11_0_16-b2043.64](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_16b2043.64) | 10-Nov-2022 |
| 2021.3 | [11_0_14_1-b1751.46](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_14_1b1751.46) | 21-Feb-2022 |
| 2021.2 | [11_0_13-b1504.49](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_13-b1504.49) | 15-Nov-2021 |
| 2021.1 | [11.0.11+9-b1341.60](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1248891540)| 15-Jun-2021 |
| 2020.3 | [11_0_10-b1145.115](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1249243977) | 21-Jun-2021 |

## Contents
- [Welcome to JetBrains Runtime](#welcome-to-jetbrains-runtime)
- [Why Use JetBrains Runtime?](#why-use-jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
- [Windows](#sources-windows)
- [Configuring the Build Environment](#configuring-the-build-environment)
- [Linux (Docker)](#linux-docker)
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Developing](#developing)
- [Contributing](#contributing)
- [Resources](#resources)

## Why Use JetBrains Runtime?
* **Embedded browser**: JetBrains Runtime includes the Java Chromium Embedded Framework ([JCEF](https://github.com/JetBrains/jcef)), which
enables you to embed a Chromium-based browsers in your JVM-based application.
To use it, [download a build with JCEF](https://github.com/JetBrains/JetBrainsRuntime/releases).
* **Enhanced class re-definition** with the [DCEVM](https://ssw.jku.at/dcevm/) technology that makes it easier to reload
changed code without restarting JVM; this feature needs to be explicitly enabled with `-XX:+AllowEnhancedClassRedefinition`.
* **Better FPS performance** for graphics-intensive applications.
* **Improved font rendering**, **keyboard input** (such as shortcuts and multinational keyboards),
**HiDPI** and **accessibility** support.
* **Robust desktop experience**: GUI-related fixes often reach JetBrains Runtime much earlier than the corresponding version of OpenJDK.

## Products Built on JetBrains Runtime
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [Toolbox App](https://www.jetbrains.com/toolbox-app/). JetBrains IDE manager.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.

## Getting Sources
### macOS, Linux
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```

### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```

## Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started.
Please refer to [OpenJDK build docs](https://openjdk.java.net/groups/build/doc/building.html) for in-depth
coverage of all the details.

> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
> It would usually have meaningful advice on how to solve the problem.

### Linux (Docker)
Create a container (use the `mkdocker...` variant for your architecture):
```
$ cd jb/project/docker
$ ./mkdocker_x86_64.sh
...
Successfully built 942ea9900054
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images
```

### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev \
libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libwayland-dev \
wayland-protocols libxkbcommon-x11-0
```
Get Java 23 (for instance, [Azul Zulu Builds of OpenJDK 23](https://www.azul.com/downloads/?version=java-23&os=linux&package=jdk#zulu)).

Then run the following:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/linux-x86_64-server-release/`.

### Windows
<a name="build-windows"></a>
Install the following:
* [Cygwin x64](http://www.cygwin.com/).
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
Install those together with Cygwin.
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
Install with the desktop development kit, which includes Windows SDK and compilers.
Visual Studio 2019 is supported by default.
* Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&os=windows&package=jdk#zulu)).
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).

From the command line:
```
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
```
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.

In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
```
This will build the release configuration under `./build/windows-x86_64-server-release/`.

### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
* Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&os=macos&package=jdk#zulu)).

From the command line:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/macosx-x86_64-server-release/`.

## Developing
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
Both require projects to be created.

### CLion
Run
```
$ make compile-commands
```
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.

See also this detailed step-by-step tutorial for all platforms:
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

### IDEA
Run
```
$ sh ./bin/idea.sh
```
in the git root to generate project files (add `--help` for options). If you have multiple
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
Then open the git root directory as a project in IDEA.

## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).

## Resources
* [JetBrains Runtime on GitHub](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
4 changes: 3 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ on:
- master
- pr/*
- jdk*
- main
workflow_dispatch:
inputs:
platforms:
Expand Down Expand Up @@ -63,7 +64,8 @@ jobs:
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86-hs: ${{ steps.include.outputs.linux-x86-hs }}
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
# additional build options for linux-x64 are disabled
# linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
alpine-linux-x64: ${{ steps.include.outputs.alpine-linux-x64 }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
Expand Down
Loading